11

以前に発生した問題をテストするためにGeoDjangoアプリをセットアップしようとしています。postgresqlデータベースをセットアップし、新しいDjangoプロジェクトとアプリを作成しましたが、試してみると次の./manage.py syncdbようになります。

django.core.exceptions.ImproperlyConfigured:データベース「django_geotest」のPostGISバージョンを判別できません。GeoDjangoには少なくともPostGISバージョン1.3が必要です。データベースは空間データベーステンプレートから作成されましたか?

これまでGeoDjangoの要件をすべてインストールし、次のようにdjango_geotestしてこのデータベースを作成したので、私にはわかりません。

$ createdb -T template_postgis django_geotest

そして、データベースが正しく設定されているようです。

django_geotest=# SELECT PostGIS_full_version();
                                     postgis_full_version                                          
-------------------------------------------------------------------------------------------------------
 POSTGIS="1.5.3" GEOS="3.2.2-CAPI-1.6.2" PROJ="Rel. 4.7.1, 23 September 2009" LIBXML="2.7.3" USE_STATS
(1 row)

データベースを説明すると、私はこれを取得します:

django_geotest=# \d                
             List of relations
 Schema |       Name        | Type  | Owner 
--------+-------------------+-------+-------
 public | geography_columns | view  | phil
 public | geometry_columns  | table | phil
 public | spatial_ref_sys   | table | phil
(3 rows)

だから今、私は次に何を試すべきかについて行き詰まっています...postgresqlとそのテンプレートなどに関する私の知識はそれほど素晴らしいものではありません。何か案は?ありがとう。

4

3 に答える 3

18

自作を使用してOSX10.9.1にインストールされたPostgreSQL9.3とPostGIS2.1でも同じ問題が発生しました。

この特定の問題については、次の行を追加するだけで済みます。

POSTGIS_VERSION = ( 2, 1 )

PostGISバージョンのカンマ区切りの数字を使用してsettings.py

理由はわかりませんが、DjangoがPostGISからバージョン情報を読み取るのに問題があります。

于 2014-02-11T15:19:57.050 に答える
5

同様の状況でこのエラーが発生した場合(つまり、データベースが完全に有効なPostGISデータベースであると思われる場合)、でエラーが発生したことが判明しましDATABASESsettings.py。データベースへの接続が失敗したときの実際の認証ですが、GeoDjangoプロジェクトの起動時にデータベースに最初に触れるのはpostgis_lib_versiondjango/contrib/gis/db/backends/postgis/operations.py

于 2015-03-02T14:20:09.347 に答える
1

私は数ヶ月前に同じ問題を抱えていました。template_databaseとメインデータベースを再作成する必要がありました。このリンクから

于 2012-07-16T02:16:57.647 に答える