Postgis不是可用的数据库后端

kla*_*ern 5 django postgresql geodjango

在工作的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
Run Code Online (Sandbox Code Playgroud)

我做了什么:

  • 按照geodjango doc中的说明安装GEOS,PROJ.4和PostGIS .
  • 按照amazon doc中的说明在亚马逊RDS中安装PostGIS .
  • 修改我的项目settings.py以包括:

    • INSTALLED_APPS =(...'django.contrib.admin',...'django.contrib.gis')
    • GEOS_LIBRARY_PATH ='/ usr/local/lib/libgeos_c.so'
    • DATABASES = {...'ENGINE':'django.contrib.gis.db.backends.postgis'...}
  • 修改我的app models.py以从django.contrib.gis.db导入模型,而不是django.db

有什么猜测我错过了吗?

Ami*_*mir 5

运行此命令

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

这说明本文档中


小智 5

我遇到了同样的问题, 我安装了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')
Run Code Online (Sandbox Code Playgroud)

这些是我缺少的库:

 GDAL_LIBRARY_PATH = r'C:\OSGeo4W64\bin\gdal204.dll'
 GEOS_LIBRARY_PATH=r'C:\OSGeo4W64\bin\geos_c.dll'
Run Code Online (Sandbox Code Playgroud)