Я создал подкаталог моего проекта Django под названием bin
, где я хочу поместить все скрипты Python в командной строке. Некоторым из этих сценариев необходимо импортировать файл Django project settings.py
, который находится в родительском каталоге bin
.
Как я могу импортировать файл settings.py
из подкаталога проекта?
Код, который я использую в моей командной строке script для установки в "контексте Django" проекта:
from django.core.management import setup_environ
import settings
setup_environ(settings)
Это отлично работает, если script находится в корневом каталоге моего проекта.
Я попробовал следующие два хака, чтобы импортировать файл settings.py
, а затем настроить проект:
import os
os.chdir("..")
import sys
sys.path = [str(sys.path[0]) + "/../"] + sys.path
Жестокий хак может импортировать settings.py
, но затем я получаю сообщение об ошибке:
project_module = __import__(project_name, {}, {}, [''])
ValueError: Empty module name