gpt4 book ai didi

django - 在Django settings.py中导入文件时出现问题

转载 作者:行者123 更新时间:2023-12-04 05:11:07 24 4
gpt4 key购买 nike

我有一个Django项目,它似乎可以很好地与settings.py配合使用,并且也可以毫无问题地导入local_settings.py。

现在,我在设置文件的末尾添加了以下几行:

try:
from extras import *
except ImportError, e:
print "import extras failed :: " + `e`

extras.py是一个额外的配置信息文件,与settings.py和local_settings.py位于同一目录中,但是,我现在得到:
import extras failed :: ImportError('Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.',)

这似乎是由于我试图
from django.contrib.auth.models import User,UserManager
from django.db import models

在那个extras.py文件中。

有人有主意吗?

干杯

最佳答案

通常,有一条线像

from django.db import models

settings.py中将导致循环依赖。这会导致导入错误,在不同版本的Django中,导入错误的报告会略有不同。例如,如果我将该行添加到工作的Django设置中并调用“manage.py shell”,则会得到:

Error: Can't find the file 'settings.py' in the directory containing './manage.py'. It appears you've customized things. You'll have to run django-admin.py, passing it your settings module. (If the file settings.py does indeed exist, it's causing an ImportError somehow.)



如果我删除该行,一切都很好。

原因是Django的模型加载机制(位于 django.db.models包中)导入 settings.py,读取其 INSTALLED_APPS以查看应安装哪些应用程序,然后加载这些应用程序。 (您可以通过在 __init__.py中为您已安装的应用之一添加打印语句来确认这一点。)

如果尝试在 django.db中导入 settings.py内容,则将导致循环导入依赖项以及与 ImportError相关的错误消息。

一种解决方法是将需要有问题的导入(以及导入本身)的功能移至应用程序。

关于django - 在Django settings.py中导入文件时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1084978/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com