Почему я получаю эту ошибку в Django?
У меня есть script, который импортирует файл models.py из приложения, но он не будет импортироваться!
Я не верю, что я должен вручную создать переменную окружения "export DJANGO..."... Я делаю что-то еще не так.
Traceback (most recent call last):
File "parse.py", line 8, in ?
from butterfly.flower.models import Channel, Item
File "/home/user/shri/butterfly/flower/models.py", line 1, in ?
from django.db import models
File "/usr/lib/python2.4/site-packages/django/db/__init__.py", line 10, in ?
if not settings.DATABASE_ENGINE:
File "/usr/lib/python2.4/site-packages/django/utils/functional.py", line 269, in __getattr__
self._setup()
File "/usr/lib/python2.4/site-packages/django/conf/__init__.py", line 38, in _setup
raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE)
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.
Ответы
Ответ 1
Я не верю, что я должен вручную создайте "экспорт DJANGO..." переменная среды...
В ручном или другом виде вы должны убедиться, что переменная находится в среде перед импортом файла моделей Django - не знаете, какие причины для вашего недоверия, но что бы они ни были, это недоверие является необоснованным.
Ответ 2
Вам необходимо правильно импортировать файл настроек. Если вы сначала не импортируете переменные среды django, ваш импорт будет неработоспособным, как вы заметили. Вам нужно закодировать что-то вроде:
import os
# Set the DJANGO_SETTINGS_MODULE environment variable.
os.environ['DJANGO_SETTINGS_MODULE'] = "myproject.settings"
#do your stuff
Ответ 3
из командной строки "python manage.py shell" должен включать в себя правильные настройки для вас и дать вам приглашение python.
Ответ 4
Один из вариантов использования среды - просто написать script как пользовательскую команду управления Django, которая позаботится о настройка среды для вас (наряду с другими функциями, такими как разбор параметров и т.д.).
Ответ 5
В командной строке выполните эту команду. Это может помочь вам:
export DJANGO_SETTINGS_MODULE=projectname.settings
Ответ 6
У меня была подобная ошибка, и я понял, что забыл создать файл " init.py" в папке приложения:
myapp:
manage.py
myapp:
__init__.py
settings.py
....