2013-01-15 13 views
6

kiedy używamDJANGO_SETTINGS_MODULE jest niezdefiniowana z gis.db

from django.contrib.gis.db import models 

otrzymuję błąd:

Traceback (most recent call last): 
    File "<pyshell#0>", line 1, in <module> 
    from django.contrib.gis.db import models 
    File "C:\Python27\lib\site-packages\django\contrib\gis\db\models\__init__.py" 
, line  2, in <module> 
    from django.db.models import * 
File "C:\Python27\lib\site-packages\django\db\__init__.py", line 11, in <module> 
    if DEFAULT_DB_ALIAS not in settings.DATABASES: 
    File "C:\Python27\lib\site-packages\django\utils\functional.py", line 184, 
in inner 
    self._setup() 
    File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 40, 
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. 

jak to naprawić ??

Kiedy użycie

from django.db import models 

praca django bez problemów

Odpowiedz

4

Istnieją dwa sposoby, aby rozwiązać ten problem:

  1. trzeba dodać moduł settings i określonych DJANGO_SETTINGS_MODULE aby wskazywać na lub
  2. użyć settings.configure, aby ominąć zmienną env .

Druga alternatywa jest dobra do korzystania z części django bez faktycznego konfigurowania wszystkiego, co jest potrzebne do projektu.

2

gis.dbnie jest niezbędne w pytaniu.

Różnica między obu poleceń importu jest tylko w kontekście, jak je uruchomić, ponieważ django.contrib.gis.db.models nie zrobić przed importem django.db.models coś więcej niż importu niektórych pustych __init__.py plików.

Najprostszym sposobem sprawdzenia czegokolwiek w poprawnym środowisku są komendy zarządzania, np.

$ python manage.py shell 
# now you are sure that django.conf settings have been imported 
>>> from django.contrib.gis.db import models 
>>> from django.db import models 
# Both will equally succeed (or maybe fail for another reason) 

(Podobne zapytania Django documentation: Models; error from line 1 of code)

Powiązane problemy