0

我目前有一个名为 Reserve 的 Django 应用程序。在名为“reserve”的文件夹中,我拥有应用程序的大部分内容(views.py、urls.py、models.py、模板文件夹)。但是,我在“reserve”之外有一个名为“booking”的文件夹,其中只有我的 settings.py。我尝试通过将“预订”中的 settings.py 放入“预订”来进行整合,但我似乎遇到了错误。关于如何只拥有一个包含所有内容的文件夹的任何建议?

我得到的错误是: ImportError: Could not import settings 'booking.settings' (Is it on sys.path?): No module named booking.settings

overall project folder
    booking folder
        settings.py
        init.py


    reserve folder (the app)
        views.py
        admin.py
        models.py
        ...
4

2 回答 2

0

我假设您在整个项目目录中有 manage.py ?我还假设您只想runserver.

您似乎将settings.py文件移到了整个项目目录之外。如果这样做,则必须在运行服务器时指定设置文件路径,或者您也可以导出 django 设置模块以指向新设置路径(使用点表示法)。在这种情况下,我认为它会是(在命令行中):

export DJANGO_SETTINGS_MODULE=<overal-project-folder-name>.booking.settings
python manage.py runserver
于 2012-11-22T16:49:43.740 回答
0

你用的是什么版本的django?你在运行什么命令?假设您只是尝试使用命令运行命令manage.py ,如果您要永久保留此项目结构,则只需 chnage 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 的正确目录

于 2012-11-22T16:52:05.263 回答