У меня есть несколько пользовательских настроек Джанго, это в основном моя структура проекта:django-admin.py не может найти файл пользовательских настроек
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 - Я создал
settings
файл либо внутриMainProject
иmy_project
каталогов, импортирующих файл 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
Я в порядке.
Сделано это. Он работает для manage.py, это не для django-admin.py – Leonardo
Вы не должны использовать django-admin.py, ou должен использовать manage.py. Он заботится о настройке среды и может выполнять все команды django-admin. [См. Django Doc] (https://docs.djangoproject.com/en/dev/ref/django-admin/) – timovdw
Не знал этого! Это работает для меня с manage.py, поэтому я решил проблему, спасибо! – Leonardo