2016-06-17 4 views
0

Я использую Django в течение года и никогда не нужно «определить переменную окружения DJANGO_SETTINGS_MODULE как я просил сделать в следующее сообщение об ошибке:переменная окружения для настроек django?

E 
====================================================================== 
ERROR: setUpClass (__main__.SmokeTest) 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "C:\Python27\lib\site-packages\django\test\testcases.py", line 1026, in setUpClass 
    if not connections_support_transactions(): 
    File "C:\Python27\lib\site-packages\django\test\testcases.py", line 991, in connections_support_transactions 
    for conn in connections.all()) 
    File "C:\Python27\lib\site-packages\django\db\utils.py", line 227, in all 
    return [self[alias] for alias in self] 
    File "C:\Python27\lib\site-packages\django\db\utils.py", line 224, in __iter__ 
    return iter(self.databases) 
    File "C:\Python27\lib\site-packages\django\utils\functional.py", line 33, in __get__ 
    res = instance.__dict__[self.name] = self.func(instance) 
    File "C:\Python27\lib\site-packages\django\db\utils.py", line 157, in databases 
    self._databases = settings.DATABASES 
    File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 55, in __getattr__ 
    self._setup(name) 
    File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 41, in _setup 
    % (desc, ENVIRONMENT_VARIABLE)) 
ImproperlyConfigured: Requested setting DATABASES, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings. 

Я использую командную строку Windows.

Я попытался запустить

from django.conf import settings 

settings.configure() 

как объяснено here, но это не помогло.

Кто-нибудь знает, как заставить это работать?

+0

Есть ли у вас эти параметры БД в вашем settings.py? Кроме того, были ли вы использовать ОС, отличную от Windows, и загружать настройки из файла .env? –

+0

@MukundGandlur У меня есть sqlite по умолчанию в моих настройках.py, не изменил его. Я все время использую окна. –

+0

Как вы используете код, который приводит к этой ошибке? –

ответ

1

«@brunodesthuilliers в командной строке я нахожусь в моем каталоге приложения, я бегу питона тесты .py "

Ну, это не сработает (по крайней мере, не так легко). Почему бы вам просто не использовать встроенную команду управления «test»?

#> cd your/project/root 
#> python manage.py test 

сравни https://docs.djangoproject.com/en/1.9/topics/testing/

+0

Wow, Я чувствую себя глупо, спасибо за это. –

0

Вы уверены, что в вашем manage.py есть что-то вроде этого

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "projectname.settings") 

https://docs.djangoproject.com/en/1.9/ref/django-admin/

+0

Да, я, конечно, –

+0

Я вижу из вашего комментария на ваш вопрос, если вы хотите сделать это, это должно прочитать это http://stackoverflow.com/questions/16853649/executing-python-script-from-django-shell –

Смежные вопросы