Postgis 不是可用的数据库后端

问题描述 投票:0回答:5

我在工作的 django 1.9 应用程序中设置 geodjango 时遇到此错误。

我的应用程序位于亚马逊 EC2 实例和 RDS postgres 实例中。

错误是:

django.core.exceptions.ImproperlyConfigured: 'django.contrib.gis.db.backends.postgis' isn't an available database backend.
Try using 'django.db.backends.XXX', where XXX is one of:
    'mysql', 'oracle', 'postgresql', 'sqlite3

我做了什么:

  • 按照 geodjango 文档中所述安装 GEOS、PROJ.4 和 PostGIS。
  • 按照amazon doc中所述在amazon RDS中安装PostGIS。
  • 修改我的项目settings.py以包括:

    • INSTALLED_APPS = (... 'django.contrib.admin', ... 'django.contrib.gis')
    • GEOS_LIBRARY_PATH = '/usr/local/lib/libgeos_c.so'
    • 数据库 = { ... '引擎': 'django.contrib.gis.db.backends.postgis' ...}
  • 修改我的应用程序models.py以从django.contrib.gis.db导入模型,而不是django.db

你猜我错过了什么吗?

django postgresql geodjango
5个回答
9
投票

我也有同样的问题 我安装了 osgeo 然后导航到丢失的库

> # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR =
> os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
> TEMPLATE_DIR=os.path.join(BASE_DIR,'templates')

这些是我缺少的库:

 GDAL_LIBRARY_PATH = r'C:\OSGeo4W64\bin\gdal204.dll'
 GEOS_LIBRARY_PATH=r'C:\OSGeo4W64\bin\geos_c.dll'

5
投票

运行此命令

sudo apt-get install binutils libproj-dev gdal-bin

这在本文档中有描述


1
投票

我也有同样的问题。我运行了

pip install gdal
,它显示了有关我的系统上缺少 libffi 库的错误消息。安装正确的库(
libffi6 on AUR
)后,我再次运行
pip install gdal
,问题得到解决。


0
投票

我发现我的 libgdal 库给我带来了问题并给了我这个错误。

我在运行 Django 1.11 和 GDAL 2.0 的 conda 环境下的 Windows 中工作。更改 GDAL 和 django 版本似乎没有解决任何问题。但是,将 libgdal 版本设置为 1.11.2 似乎为我清除了错误。


0
投票

切换回默认的sqlite3引擎,然后再回到postgis,神秘地解决了问题。

© www.soinside.com 2019 - 2024. All rights reserved.