geodjango syncdb错误。来自geodjango教程

时间:2010-08-25 15:09:48

标签: python django postgresql gis geodjango

我已经按照geodjango安装(Windows XP)和教程来完善 我正在运行django 1.2 当我进入syncdb并运行时,我收到以下内容。

    raise ImproperlyConfigured(error_msg)
django.core.exceptions.ImproperlyConfigured:'django.db.backends.postgis' isn
an available database backend.
Try using django.db.backends.XXX, where XXX is one of:
    'dummy', 'mysql', 'oracle', 'postgresql', 'postgresql_psycopg2', 'sqlite3
Error was: No module named postgis.base

我尝试更改为'django.db.backends.postgresql_psycopg2'作为替代方案 但后来我收到了这个回复:

AttributeError: 'DatabaseOperations' object has no attribute 'geo_db_type'

当我尝试posgresql时:

    **raise ImproperlyConfigured("Error loading psycopg module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading psycopg module: No mo
dule named psycopg**

它不应该是我成功下载和安装的postgis吗?为什么不工作?我是新人,我正在努力学习,所以任何帮助都会受到高度赞赏。

2 个答案:

答案 0 :(得分:25)

问题在于settings.py

'django.db.backends.postgis'

应该是

django.contrib.gis.db.backends.postgis

应该这样做。

答案 1 :(得分:1)

在我按照geodjango网站上的说明并使用Homebrew安装软件包后,我在Mac OS X 10.6上遇到了同样的错误。显然,Geodjango文档提供了有关如何安装它的一些不正确/过时的说明。为了使Geodjango工作,我遵循了几个步骤:

  1. 目前,GeoDjango 1.4与PostGIS 2.0(当我遵循GeoDjango文档中的说明时安装的Homebrew版本)不太搭配。所以,我需要安装PostGIS 1.5。我使用以下终端命令执行此操作(为此,您必须安装Homebrew):

    brew tap homebrew/versions
    brew install postgis15
    brew untap homebrew/versions
    
  2. PostGreSQL 9.2(当我遵循Geodjango文档的说明时安装的Homebrew版本)不能很好地使用PostGIS 1.5。所以,我安装了PostGreSQL 9.1。我忘记了用于安装PostGreSQL 9.1的Homebrew命令,但它们应该与上一步类似。

  3. 在我的情况下,先前的步骤不足以让Geodjango运作。当我再次尝试在Django中运行'syncdb'时,我在终端中发现了一个新错误:

    django.core.exceptions.ImproperlyConfigured: Error loading psycopg module: 
    No module named psycopg 
    
  4. 我最初认为我的psycopg2和PostgreSQL9.1的副本不在我的PYHTONPATH上,所以我添加了它们。我也在摆弄以确保django运行PostgreSQL 9.1而不是9.2。我使用'initdb / usr / local / var / postgres'。

  5. 然后我需要做一些数据库配置。我在PostGIS中设置了一个模板,并为数据库设置了“角色”(/ user)。为此,我按照Geodjango文档中的说明进行操作。我收到了很多错误,但谷歌搜索了他们,很容易找到解决方案。

  6. 然后GeoDjango开始正常工作!

  7. 此来源是我发现的最有用的来源,并链接到其他有用的网址,更详细地介绍了其中的一些问题:http://pragmaticstartup.wordpress.com/2012/09/26/installing-django-postgis-postgres-on-os-x-version-hell/