2016-10-04 4 views
0

まず、私はdjangoを初めて使用しています。 Django 1.10のPOSTGISデータベースでGeoLite(GeoIP2)データセットを使用しようとしています。 myapp/settings.pyファイルを設定しようとすると、エラーメッセージが表示されます.DJangoディレクトリの異なるパスにデータベースのバックエンドがあるようですが、その理由を明確にしてください。Postgresql POSTGISデータベースの設定

  1. ジャンゴ\のcontrib \ GISの\デシベル\バックエンド\ PostGISの
  2. ジャンゴ\ DB \私は私の設定でデフォルトのデータベースを設定しようとする私ののpython3仮想環境を、活性化した後、バックエンド

を。 PostgreSQLのようPYファイル( 'django.db.backends.postgresql')、私はエラーを取得:私は私のデータベースエンジンとしてPostGISのを使用しようとすると(私は私の仮想環境でのGDAL_LIBRARY_PATHを設定)

AttributeError:”Database Operations’ object has no attribute ‘geo_db_type’. 

、Iエラーが発生する:

django.contrib.gis.db.backends.postgis' is not an available database backend. Try using 'django.db.backends.XXX', where XXX is one of 'mysql', 'oracle', 'postgresql',and 'sqlite'. 
Error was: Cannot import name ‘GDALRaster’. 

上記のエラーメッセージに対して、解決策を提案できますか?ありがとうございました。

答えて

1

Christopher Gohlkeのサイト(32ビットGDAL-2.0.3-cp35-cp35m-win32.whl)のGDALを仮想環境にインストールしました。 OSGEO4W(32ビット)をダウンロードし、Express Webオプションをインストールしてください。 環境変数を作成します。以下のように環境変数を設定します。

set PYTHON_ROOT=C:\Python35-32 set GDAL_DATA=C:\Program Files\PostgreSQL\9.6\gdal-data set PROJ_LIB=C:\Program Files\PostgreSQL\9.6\share\contrib\postgis\proj set PATH=%PATH%;%PYTHON_ROOT%;%OSGEO4W_ROOT%\bin reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /f /d "%PATH%" reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v GDAL_DATA /t REG_EXPAND_SZ /f /d "%GDAL_DATA%" reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROJ_LIB /t REG_EXPAND_SZ /f /d "%PROJ_LIB%"

I Cなども設定LD_LIBRARY_PATH:のLib \サイト - パッケージ\ \ Python35-32 \ myvenv_python3 \ OSGEO。 それから、データベースが正しく設定されておらず、 'GDALRaster'をインポートできませんでした。あなたのdjangoプロジェクトディレクトリから、以下を使用して移行することができます:python manage.py migrate

関連する問題