Python脚本不在同一文件夹中时是否可以使用Django数据库?

Python脚本不在同一文件夹中时是否可以使用Django数据库?,python,django,python-2.7,django-models,Python,Django,Python 2.7,Django Models,我有一个python应用程序(我们称之为app),我希望有一个web前端。应用程序有许多文件,文件夹树结构保持原样很重要 我构建了一个Django项目,并将其放在应用程序文件夹中名为“Web”的文件夹中,因此现在文件夹树如下所示: [数据] [参考资料] [网页] [网前] 普通django应用程序文件 [网页] \uuuu init\uuuuu.py 设置.py url.py wsgi.py \uuuu init\uuuuu.py manage.py main.py 以下是应用

我有一个python应用程序(我们称之为app),我希望有一个web前端。应用程序有许多文件,文件夹树结构保持原样很重要

我构建了一个Django项目,并将其放在应用程序文件夹中名为“Web”的文件夹中,因此现在文件夹树如下所示:

  • [数据]
  • [参考资料]
  • [网页]
    • [网前]
      • 普通django应用程序文件
    • [网页]
      • \uuuu init\uuuuu.py
      • 设置.py
      • url.py
      • wsgi.py
    • \uuuu init\uuuuu.py
    • manage.py
  • main.py
以下是应用程序main.py上的代码:

import os
import django

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Web.Web.settings")
django.setup()
此代码在
django.setup()
行上导致异常,因为(我认为)django没有找到项目模块:
ImportError:没有名为WebFront的模块
(WebFront是django应用程序的名称)

我怀疑这是因为django运行在python应用程序的目录中,因此找不到文件夹
WebFront
——实际上应该是
Web/WebFront

这能做到吗?或者我应该颠倒顺序,将python应用程序放在django应用程序中


这不是以下问题的重复,因为文件夹嵌套会导致不同的问题(我认为)


你可以在你喜欢的地方找到你的
main.py
脚本。但是,如果它位于
Web
文件夹之外,则必须将
Web
添加到Python路径中,否则像
import Webfront
这样的导入将失败

import sys
sys.path.append('/path/to/Web/')
完成此操作后,您可以将
DJANGO\u设置\u模块
更改为

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Web.settings")

你可以在你喜欢的地方找到你的
main.py
脚本。但是,如果它位于
Web
文件夹之外,则必须将
Web
添加到Python路径中,否则像
import Webfront
这样的导入将失败

import sys
sys.path.append('/path/to/Web/')
完成此操作后,您可以将
DJANGO\u设置\u模块
更改为

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Web.settings")

真管用!但有两个问题。第一个-我仍然需要将Django指向“Web.Web.Settings”-“路径编辑”不应该解决这个问题吗?第二,当我尝试导入模型时,会出现错误
模型类Web.WebFront.models.MyModel没有声明明确的应用程序标签,并且不在已安装应用程序中的应用程序中。
您如何尝试导入模型?您安装了什么应用程序?
从Web.WebFront.models导入MyModel
。我的
INSTALLED\u APPS
列表上只有
WebFront
如果在
INSTALLED\u APPS
中有
'WebFront'
,则需要使用
sys.path.append()
Web
添加到python路径中。然后,您应该从Webfront导入带有
的模型。模型导入MyModel
,并将
DJANGO\u设置\u DIR
更改为
Web.SETTINGS
。如果这不起作用,那么我不确定问题出在哪里。使用您正在尝试的确切代码、完整回溯和磁盘上文件夹的完整路径更新您的问题可能会有所帮助。您是对的-导入行出错。正确的方法是从WebFront导入
。模型导入MyModel
即可!但有两个问题。第一个-我仍然需要将Django指向“Web.Web.Settings”-“路径编辑”不应该解决这个问题吗?第二,当我尝试导入模型时,会出现错误
模型类Web.WebFront.models.MyModel没有声明明确的应用程序标签,并且不在已安装应用程序中的应用程序中。
您如何尝试导入模型?您安装了什么应用程序?
从Web.WebFront.models导入MyModel
。我的
INSTALLED\u APPS
列表上只有
WebFront
如果在
INSTALLED\u APPS
中有
'WebFront'
,则需要使用
sys.path.append()
Web
添加到python路径中。然后,您应该从Webfront导入带有
的模型。模型导入MyModel
,并将
DJANGO\u设置\u DIR
更改为
Web.SETTINGS
。如果这不起作用,那么我不确定问题出在哪里。使用您正在尝试的确切代码、完整回溯和磁盘上文件夹的完整路径更新您的问题可能会有所帮助。您是对的-导入行出错。正确的方法是从WebFront导入
。模型导入MyModel