0

我在使用 Django 时遇到问题。如果您能帮助我,我将不胜感激。

所以,我发现很多人有类似的问题,但没有一个“解决方案”对我有用。我正在学习如何使用 django 并且我已经成功安装了它。

但是,从init .py 文件执行导入时出现错误:

from django.db import connections

这是错误:

raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
ImportError: Could not import settings 'TestProject.settings' (Is it on sys.path?): cannot import name connections

包含的 django 文件夹包含在我的 PYTHONPATH 中,我的文件结构如下所示:

TestProject
--manage.py
--TestProject
----__init__.py
----settings.py
    etc.

这是我的 manage.py 文件:

#!/usr/bin/env python import os import sys

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "TestProject.settings")

    from django.core.management import execute_from_command_line

    execute_from_command_line(sys.argv)

我真的不知道如何解决这个问题。我也是 Python 的新手,所以如果这对其他人来说是完全显而易见的,请原谅我。

谢谢你的帮助。

4

1 回答 1

0

这确实是一个奇怪的怪癖。我发现以下内容可以在我的程序中使用:

  1. 导入 django 设置。
  2. 设置默认环境。
  3. 通过设置访问例如 SITE_ID(或其他属性,但只使用例如 SITE_ID)。
  4. 最后,您应该可以导入。

例如

from django.conf import settings

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

settings.SITE_ID

或使用另一个变量,如DEBUG; 注意..这条线什么都不做..它只是访问设置并且似乎“激活”环境。你也可以做一个简单的打印语句,比如print settings.SITE_ID,但这不是必需的。)

from myapp.models import MyModel, MyOtherModel

如果你按照这个顺序做所有事情......那么它对我有用!当您在导入模型之前访问实际设置时,奇迹就会发生。

我认为这可能是 Django 1.5 中的错误/错误

于 2013-09-12T22:07:32.173 回答