2013-01-15 9 views
6

で定義されていない私はDJANGO_SETTINGS_MODULEがgis.db

from django.contrib.gis.db import models 

を使用するとき、私はエラーを取得する:

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. 

それを修正する方法?

使用

from django.db import models 

問題

答えて

4

なしDjangoの仕事は、この問題を解決するには、2つの方法があります。

  1. はあなたがsettingsモジュールを追加する必要があり、を指すようにDJANGO_SETTINGS_MODULEを設定または
  2. DJANGO_SETTINGS_MODULEのenv変数をバイパスするためにsettings.configureを使用してください。

第2の代替案は、プロジェクトに必要なものすべてを実際にセットアップすることなくdjangoの部分を使用するとよいでしょう。

2

gis.dbあなたの質問には必須ではありません。

django.contrib.gis.db.modelsは、いくつかの空の__init__.pyファイルのインポート以上django.db.models何かをインポートする前に行っていないので、両方のインポートコマンドの違いは、あなたがそれらを実行する方法、唯一のコンテキストです。

正しい環境で何かをテストする最も簡単な方法は、管理コマンドによるものです。

$ 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) 

(同様の質問Django documentation: Models; error from line 1 of code

関連する問題