与postgis geodjango不会工作
我是geodjango的新手,我有以下设置:
DATABASES = {
"default" : {
'ENGINE': 'django.contrib.gis.db.backends.postgis', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'dbname', # Or path to database file if using sqlite3.
'USER': 'django', # Not used with sqlite3.
'PASSWORD': 'somepass', # Not used with sqlite3.
'HOST': '127.0.0.1', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
}
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.gis',
'django.contrib.admin',
'django.contrib.admindocs',
'django.contrib.gis',
"app.core",
)
我用下面的命令创建了db:
postgres@rewitaqia:~$ createdb -U postgres -T template_postgis -O django dbname
但是当我尝试同步数据库它说:
django.core.exceptions.ImproperlyConfigured: Cannot determine PostGIS version for database "dbname". GeoDjango requires at least PostGIS version 1.3. Was the database created from a spatial database template?
另外,当我在psql中尝试这个时,看起来DB并不是真正从postgis模板创建的:
db_name=# select postgis_lib_version();
ERROR: no existe la función postgis_lib_version()
ŘÁDKA 1: select postgis_lib_version();
^
DOPORUČENÍ: Ninguna función coincide en el nombre y tipos de argumentos. Puede desear agregar conversión explícita de tipos.
无论如何感谢阅读。
Visgean,
当第一次设置PostGIS时,我遇到了很多和你一样的问题,所以我创建了一篇详细介绍PostGIS设置的文章。 很抱歉插入我自己的文章,但我创建它来帮助记录设置过程。 http://www.chicagodjango.com/blog/geo-django-quickstart/
看看上面的问题,很难确切地说出问题所在。 但是,您可能会检查的内容会产生PostGIS错误:
无论如何,希望这有助于。 乔
链接地址: http://www.djcxy.com/p/79499.html上一篇: geodjango with postgis would not work
下一篇: Postgis / Geodjango: Cannot determine PostGIS version for database