2017-03-01 32 views
0

在Django中,我使用从回购中提取的方式更新了我的git。当我运行python3 manage.py collectstatic它会抛出“myproject”数据库不存在。真的,我没有我的项目数据库,因为在生产中我只有prod_project数据库。但是,不知何故Django是试图加载从base.py myproject的数据库,而不是从prod.pyDjango用于生产和开发的项目设置

# base.py 
    DATABASES = {                   
      'default': {                  
       'ENGINE': 'django.db.backends.postgresql_psycopg2',       
       'NAME': 'myproject',              
       'USER': 'admin',                
       'PASSWORD': '*****', 
       'ATOMIC_REQUESTS': True,                
      },                    
     } 

# prod.py 
    from .base import *                 

    DEBUG = False                   
    TEMPLATE_DEBUG = DEBUG                

    DATABASES = {                   
     'default': {                  
      'ENGINE': 'django.db.backends.postgresql_psycopg2',       
      'NAME': 'prod_myproject',              
      'USER': 'admin',                
      'PASSWORD': '',                
     },                    
    }                      

    try:                     
     from .local import *                
    except ImportError:                 
     pass 

# local.py is empty file 

我的项目是应用程序/项目/ PROD文件夹导入:

/.git 
etc/ 
apps/ 
static/ 
myproject/ 
    settings/ 
    base.py 
    prod.py. 
    beta.py 
    wsgy.py 
manage.py 
+0

如果你打开manage.py并看看里面的代码,你可以告诉它使用什么设置。您可以操纵它以在每个环境中使用正确的文件。 – Neelik

+0

Thx fro回复。在manage.py它被写为__name__ ==“__main__”: os.environ.setdefault(“DJANGO_SETTINGS_MODULE”,“myproject.settings”) –

回答

0

当我做的git拉,初始化设置内部的.py也被改变了。我不知道这件事。我知道的开发者建议我检查这个文件。我发现不同的设置文件被设置为默认值。我纠正了它。现在它正在工作。

2

如果单独的2 setting.py,你应该声明使用哪个settings.py!

你可以用下面(mod_wsgi的)这样做:

import os 
os.environ['DJANGO_SETTINGS_MODULE'] = 'your_proj/settings_location/prod' 

此设置的Django使用特定的设置文件。

,或者你可以用这个壳上做:

python manage.py collectstatic --settings=your_proj/settings_location/prod 

这个指定的设置文件,你需要的。

编号:https://docs.djangoproject.com/en/1.10/topics/settings/#on-the-server-mod-wsgi

+0

Thx,但我使用gunicorn –

+0

然后,您可以将该设置添加到wsgi .py文件,而不是:) – Beomi

+1

,当你想使用这些设置,只需添加到manage.py文件! – Beomi