我目前有一个名为reserve的Django应用程序。在名为“reserve”的文件夹中,我拥有应用程序的大部分内容(views.py,urls.py,models.py,templates文件夹)。但是,我有一个名为“预订”的“预订”之外的文件夹只有我的settings.py。我尝试通过将“预订”中的settings.py放入“预留”进行整合,但我似乎遇到了错误。关于如何只有一个包含所有内容的文件夹的任何建议?
我得到的错误是:ImportError:无法导入设置'booking.settings'(是否在sys.path上?):没有名为booking.settings的模块
overall project folder
booking folder
settings.py
init.py
reserve folder (the app)
views.py
admin.py
models.py
...
答案 0 :(得分:0)
我假设你在整个项目目录中有manage.py?我还假设您只想runserver
。
似乎您将settings.py
文件移到了整个项目目录之外。如果执行此操作,则必须在执行runserver时指定设置文件路径,或者还可以导出django设置模块以指向新的设置路径(使用点表示法)。在这种情况下,我认为(在命令行中):
export DJANGO_SETTINGS_MODULE=<overal-project-folder-name>.booking.settings
python manage.py runserver
答案 1 :(得分:0)
manage.py
运行命令,如果您要永久保留此项目结构,则可以使用manage.py来反映这一点
#!/usr/bin/env python
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "your_project.settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
您应该将os.environ.setdefault
更改为settings.py