使用多个设置

Working With Multiple Settings

我尝试为我的 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。

你已经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

它将正常工作。