使用多个设置

时间:2018-02-25 17:22:07

标签: python django uwsgi

我尝试为django项目添加多个设置。 devserver和production的单独设置。

为此,我删除了settings.py文件,新文件结构如下所示:

mysite/
 |-- mysite/
 |    |-- __init__.py
 |    |-- settings/
 |    |    |-- __init__.py
 |    |    |-- base.py
 |    |    |-- development.py
 |    |    |-- production.py   
 |    |-- urls.py
 |    +-- wsgi.py
 +-- manage.py

我填写了base.py,development.py,production.py,并在base.py上替换了项目根目录的路径

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 

到==>

BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

当我开始

时,它在我的本地服务器上运行良好
python manage.py runserver --settings=mysite.settings.development

但是当我在生产中执行相同的设置时,我会收到内部服务器错误。我的服务器适用于Nginx和Uwsgi。

1 个答案:

答案 0 :(得分:0)

您已正确完成此BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

您需要执行以下操作:

settings/__init__.py文件中输入以下代码。

from .production import *

try:
    from .local import *
except:
    pass

现在,运行

python manage.py runserver

它会正常工作。