django-admin.py 找不到自定义设置文件
Posted
技术标签:
【中文标题】django-admin.py 找不到自定义设置文件【英文标题】:django-admin.py can't find custom settings file 【发布时间】:2013-07-20 01:31:56 【问题描述】:我有几个自定义的 django 设置,这基本上是我的项目结构:
MainProject/
manage.py
my_project/
settings/
base.py
dev.py
prod.py
我在目录中创建了__init__.py
文件,以将它们标识为包。
我已导出 DJANGO_SETTINGS_MODULE
以指向所选的设置文件。manage.py
命令似乎处理得很好,我从来没有遇到过问题。
问题是,无论我做什么,django-admin.py
都是找不到任何设置文件。我已经尝试了几种可能的解决方案,但到目前为止似乎没有任何效果。
-
我用过
--settings=my_project.settings.dev
我已经对manage.py
进行了编辑和硬编码,让它指向 dev.py 文件
我在MainProject
和my_project
目录中创建了一个settings
文件,用于导入dev 文件(进而导入base.py)。
我创建了一个settings
文件,让Django 知道它应该使用哪些文件作为settings
这是关于第4点的:
from django.core.management import setup_environ
try:
import my_project.settings.dev as settings
except ImportError:
import sys
sys.stderr.write("Couldn't find the settings.py module.")
sys.exit(1)
setup_environ(settings)
到目前为止似乎没有任何效果。
======================================
解决方案:
我没有找到确切的解决方案,但由于对所选答案的评论,我了解到您基本上可以使用manage.py
来完成您在django-admin.py
中可以做的所有事情,我不知道!因为使用manage.py
对我有用,所以我很好。
【问题讨论】:
【参考方案1】:您是否尝试过从您的设置模块导入 __init__.py
中的开发设置?
settings/_init_.py
from .dev import *
【讨论】:
【参考方案2】:我建议做什么:
创建一个普通的 settings.py 文件并在其中导入其他文件之一。这避免了三个场景之间共享的重复设置+这实际上是根据 DRY 原则推荐的方式。
通常,您只需在特定设置文件中设置调试参数、数据库设置和私钥。所有其他设置都应在所有场景之间共享,以避免忘记更新一项并难以调试错误。
【讨论】:
做到了。它适用于 manage.py,不适用于 django-admin.py 你不应该使用 django-admin.py,你应该使用 manage.py。它负责设置环境并可以执行 django-admin 可以执行的所有命令。 See the Django Doc 不知道!它对我有用 manage.py 所以我解决了这个问题,谢谢! 是的,$ python manage.py check --deploy --settings=my_project.settings.production
为我工作。以上是关于django-admin.py 找不到自定义设置文件的主要内容,如果未能解决你的问题,请参考以下文章
django-admin.py:找不到命令(bluehost 服务器)
什么时候应该使用 django-admin.py 和 manage.py?
app.config configSections 自定义设置找不到架构信息