2010-08-25 6 views
5

J'ai suivi l'installation de geodjango (Windows XP) et le tutoriel à la perfection Je cours django 1.2 Quand j'arrive à syncdb et à courir je reçois ce qui suit.erreurs geodjango syncdb. Du tutoriel geodjango

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 

J'ai essayé de changer de 'django.db.backends.postgresql_psycopg2' comme alternative Mais je reçois cette réponse:

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

Lorsque je tente PosgreSQL:

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

N'est-ce pas supposé d être postgis que j'ai téléchargé et installé avec succès? pourquoi ça ne marche pas? Je suis nouveau et j'essaie d'apprendre donc toute aide serait grandement appréciée.

+0

Pouvez-vous assurer que vous avez installé 'psycopg'? –

Répondre

25

Le problème est, dans settings.py

'django.db.backends.postgis' 

il est censé être

django.contrib.gis.db.backends.postgis 

qui devrait le faire.

1

J'ai rencontré la même erreur sur Mac OS X 10.6 après avoir suivi les instructions sur le site geodjango et installé les paquets en utilisant Homebrew. Apparemment, la documentation de Geodjango a donné des instructions incorrectes/périmées sur la façon de l'installer. Pour rendre le travail GeoDjango, j'ai suivi plusieurs étapes:

  1. En ce moment, GeoDjango 1.4 ne joue pas bien avec PostGIS 2.0 (qui est la version installée Homebrew lorsque j'ai suivi les instructions de la documentation GeoDjango). Donc, j'avais besoin d'installer PostGIS 1.5. Je l'ai fait en utilisant les commandes de Terminal suivantes (pour que cela fonctionne, vous devez avoir installé Homebrew):

    brew tap homebrew/versions 
    brew install postgis15 
    brew untap homebrew/versions 
    
  2. PostGIS 1.5 ne joue pas bien avec PostGreSQL 9.2 (qui est la version installée Homebrew quand je suivais la Instructions de la documentation de Geodjango). J'ai donc installé PostGreSQL 9.1. J'oublie exactement quelles commandes Homebrew j'ai utilisées pour installer PostGreSQL 9.1, mais elles devraient être similaires à l'étape précédente. Dans mon cas, les étapes précédentes n'étaient pas suffisantes pour que le Geodjango soit opérationnel. Quand j'ai essayé de courir « syncdb » dans Django à nouveau, j'ai découvert une nouvelle erreur dans le Terminal:

    django.core.exceptions.ImproperlyConfigured: Error loading psycopg module: 
    No module named psycopg 
    
  3. Je pensais d'abord ma copie de psycopg2 et PostgreSQL9.1 étaient pas sur mon PYHTONPATH, alors je les ai ajouté. J'ai aussi tripoté pour m'assurer que django utilisait PostgreSQL 9.1 au lieu de 9.2. J'ai utilisé 'initdb/usr/local/var/postgres'.

  4. Puis j'ai dû faire une configuration de base de données. J'ai mis en place un modèle dans PostGIS et mis en place un "rôle" (/ user) pour la base de données. Pour ce faire, j'ai suivi les instructions de la documentation Geodjango. J'ai reçu de nombreuses erreurs, mais je les ai googlé et trouvé des solutions assez facilement.

  5. Ensuite, GeoDjango a commencé à fonctionner correctement!

Cette source était le plus utile que j'ai trouvé et des liens vers d'autres urls utiles qui couvrent certaines de ces questions plus en détail: http://pragmaticstartup.wordpress.com/2012/09/26/installing-django-postgis-postgres-on-os-x-version-hell/

Questions connexes