gpt4 book ai didi

python - Django:settings.py 在哪里寻找导入,为什么?

转载 作者:行者123 更新时间:2023-11-28 17:29:19 24 4
gpt4 key购买 nike

我有一个具有通用目录结构的 Django 应用程序:

project
---manage.py
---app
---__init__.py
---settings.py
---settings_secret.py
---a bunch of other files for the app itself

settings_secret.py 文件包含来自 secrets.py 的变量,我不想将其发送到 github。出于某种原因,我似乎无法将其导入 settings.py。 settings.py 的前 5 行:

# Django settings for project. 
DEBUG = True
TEMPLATE_DEBUG = DEBUG
import os
from settings_secret import *

部分堆栈跟踪失败:

File "/foo/bar/project/app/settings.py", line 5, in <module> from settings_secret import *
ImportError: No module named 'settings_secret'

为了调试,我在/project/中创建了一个测试文件,如下所示:

from settings_secret import *
print(VARIABLE_FROM_SETTINGS_SECRET)

这就像一个魅力。很明显,settings.py 没有在正确的地方寻找 settings_secret。那么它在寻找什么?

最佳答案

settings.py 中,你应该这样做:from .settings_secret import *

它适用于 . 因为正确的语法应该是:

从 app.settings_secret 导入 *

删除 app 是速记编码,但同样的原则适用。您需要告诉 Django 查找目录 (app),然后指定要查找该目录中的哪个文件。

如果您刚刚这样做,from settings_secret import *,您是在告诉 Django 查找不存在的目录 settings_secret

这对你来说有意义吗?

关于python - Django:settings.py 在哪里寻找导入,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35676581/

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