2013-10-02 19 views
6

Śledziłem instalacje Django za pomocą pip w virtualenv odkąd uczę się Django. Kiedy Django Book powiedział mi, aby wpisać to w powłoce Python,Jak naprawić wyjątek Django Nieprawidłowy sposób konfiguracji?

from django import template 
t = template.Template("My name is {{ name }}.") 

Mam ten wyjątek. Nie wiem jak to rozwiązać.

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "django/template/base.py", line 123, in __init__ 
    if settings.TEMPLATE_DEBUG and origin is None: 
    File "django/conf/__init__.py", line 53, in __getattr__ 
    self._setup(name) 
    File "django/conf/__init__.py", line 46, in _setup 
    % (desc, ENVIRONMENT_VARIABLE)) 
django.core.exceptions.ImproperlyConfigured: Requested setting TEMPLATE_DEBUG, 
but settings are not configured. You must either define the environment variable 
DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings. 

Czy ktoś może mnie pokonać? Używam Mac OS X 10.8

Odpowiedz

18

Wydaje się, że używasz Pythona powłoki za pomocą polecenia python. Tak więc zmienna DJANGO_SETTINGS_MODULE jest niedostępna. Uruchom swoją powłokę pytona specyficzną dla aplikacji, używając

Przeczytaj więcej o manage.py.

manage.py ustawia zmienną środowiskową DJANGO_SETTINGS_MODULE, tak aby wskazywała na plik settings.py twojego projektu.

+0

Będzie to również oznaczać, że mój system python shell nie ma Django? Czy też powłoki Django są uruchamiane z 'manage.py'? – Nogurenn

+1

Twoja systemowa powłoka pytona będzie miała specyficzne ustawienia django. Ale jeśli chcesz, aby twoje ustawienia, takie jak 'TEMPLATE_DEBUG',' DEBUG' itd., Działały, musisz otworzyć powłokę używając 'python manage.py shell'. – arulmr

+0

Otrzymuję ten błąd (nieprawidłowo skonfigurowany) podczas uruchamiania 'python manage.py shell' ... żadnych myśli? ... to doprowadza mnie do szału! – maledr53

4

trzeba uruchomić powłokę django tak ładuje ustawienia

python manage.py shell 
0

Django potrzebuje specyficznych ustawień aplikacji. Ponieważ jest już wewnątrz manage.py wystarczy uruchomić:

python manage.py shell

To powinno rozwiązać problem szybko wystarczająco

Powiązane problemy