Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python geodjango syncdb错误。来自geodjango教程_Python_Django_Postgresql_Gis_Geodjango - Fatal编程技术网

Python geodjango syncdb错误。来自geodjango教程

Python geodjango syncdb错误。来自geodjango教程,python,django,postgresql,gis,geodjango,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.bac

我对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
    **raise ImproperlyConfigured("Error loading psycopg module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading psycopg module: No mo
dule named psycopg**
我尝试改为'django.db.backends.postgresql_psycopg2'作为替代 但随后我收到了这样的回复:

AttributeError: 'DatabaseOperations' object has no attribute 'geo_db_type'
当我尝试posgresql:

    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
    **raise ImproperlyConfigured("Error loading psycopg module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading psycopg module: No mo
dule named psycopg**

这不是我成功下载并安装的postgis吗?为什么不起作用?我是新来的,我正在努力学习,因此非常感谢您的帮助。

问题是,在
settings.py

'django.db.backends.postgis'
应该是

django.contrib.gis.db.backends.postgis

这应该可以做到。

在遵循geodjango站点上的说明并使用自制软件安装软件包之后,我在Mac OS X 10.6上遇到了同样的错误。显然,Geodjango文档给出了一些关于如何安装它的错误/过时说明。为了让Geodjango工作,我遵循了几个步骤:

  • 目前,GeoDjango 1.4与PostGIS 2.0(这是我按照GeoDjango文档中的说明安装的自制版本)不兼容。所以,我需要安装PostGIS 1.5。我使用以下终端命令执行此操作(要使其正常工作,必须安装自制软件):

  • PostGIS 1.5与PostGreSQL 9.2(这是我按照Geodjango文档的说明安装的自制版本)不兼容。所以,我安装了PostGreSQL 9.1。我完全忘记了安装PostGreSQL 9.1时使用的自制命令,但它们应该与上一步类似

  • 就我而言,之前的步骤不足以让Geodjango投入运行。当我再次尝试在Django中运行“syncdb”时,我在Terminal中发现了一个新错误:

    django.core.exceptions.ImproperlyConfigured: Error loading psycopg module: 
    No module named psycopg 
    
  • 我最初认为我的psycopg2和PostgreSQL9.1副本不在我的PythonPath上,所以我添加了它们。我还仔细检查了一下,以确保django运行的是PostgreSQL 9.1而不是9.2。我使用了'initdb/usr/local/var/postgres'

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

  • 然后Jango开始正常工作了


  • 这个源代码是我找到的最有用的一个,并链接到其他有用的URL,这些URL更详细地介绍了其中的一些问题:

    您能确保安装了
    psycopg