如何将django应用程序的所有文件放入一个文件夹?

时间:2012-11-22 16:23:16

标签: python django

我目前有一个名为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
        ...

2 个答案:

答案 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)

你正在使用什么版本的django?你在运行什么命令?假设您只是尝试使用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

的正确目录