我尝试为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。
答案 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
它会正常工作。