【问题标题】:My PostGIS database looks fine but GeoDjango thinks otherwise... why?我的 PostGIS 数据库看起来不错,但 GeoDjango 不这么认为……为什么?
【发布时间】:2012-05-22 00:39:13
【问题描述】:

我正在尝试设置一个 GeoDjango 应用程序来测试我拥有的 an earlier problem。我已经建立了一个 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 及其模板等的了解并不是那么好。有任何想法吗?谢谢。

【问题讨论】:

  • 我之前也遇到过同样的问题,但我不知道我是如何解决的。我想我试过这个:stackoverflow.com/questions/5907672/…
  • 在使用自制软件在 OS X 10.9.1 上安装 PostgreSQL 9.3 和 PostGIS 2.1 时遇到了同样的问题,我所要做的就是将 POSTGIS_VERSION = ( 2, 1 ) 添加到 settings.py。它根本无法读取设置
  • @BenjaminGolder - 这也解决了我的问题......建议它应该是正确的答案?

标签: django postgresql postgis geodjango


【解决方案1】:

我在使用自制软件在 OS X 10.9.1 上安装 PostgreSQL 9.3 和 PostGIS 2.1 时遇到了同样的问题。

对于这个特定的问题,您只需要添加这一行:

POSTGIS_VERSION = ( 2, 1 )

使用您的 PostGIS 版本的逗号分隔编号为 settings.py

我不知道为什么,但 Django 无法从 PostGIS 读取版本信息。

【讨论】:

  • 将其标记为正确答案只是因为它似乎适用于几个人;我没试过。谢谢!
  • settings.py 在哪里?
【解决方案2】:

每当我在类似情况下遇到此错误时(即,当数据库似乎是一个完全有效的 PostGIS 数据库时),事实证明 DATABASES 中的 settings.py 中存在错误。连接数据库失败时实际上是身份验证,但碰巧在启动我的 GeoDjango 项目时首先触及数据库的是来自django/contrib/gis/db/backends/postgis/operations.pypostgis_lib_version 调用

【讨论】:

【解决方案3】:

几个月前我遇到了同样的问题。我不得不再次重新创建 template_database 和主数据库。 From this link.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-15
    • 1970-01-01
    • 1970-01-01
    • 2021-04-21
    • 1970-01-01
    • 2017-06-08
    • 1970-01-01
    相关资源
    最近更新 更多