Подтвердить что ты не робот

Почему я получаю эту ошибку в 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.
4b9b3361

Ответ 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
        ....