J'ai de la difficulté à configurer la base de données spatiale et à la synchroniser avec GeoDjango. Je suis en mesure de configurer la base de données spatiale selon la documentation GeoDjango et créer une application django mais quand je lanceImpossible de syncdb dans l'application GeoDjango
python manage.py sqlall world
Je reçois ce,
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/smaranh/django-env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line
utility.execute()
File "/home/smaranh/django-env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 382, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/smaranh/django-env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 261, in fetch_command
klass = load_command_class(app_name, subcommand)
File "/home/smaranh/django-env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 69, in load_command_class
module = import_module('%s.management.commands.%s' % (app_name, name))
File "/home/smaranh/django-env/local/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/home/smaranh/django-env/local/lib/python2.7/site-packages/django/core/management/commands/sqlall.py", line 4, in <module>
from django.core.management.sql import sql_all
File "/home/smaranh/django-env/local/lib/python2.7/site-packages/django/core/management/sql.py", line 6, in <module>
from django.db import models
File "/home/smaranh/django-env/local/lib/python2.7/site-packages/django/db/__init__.py", line 40, in <module>
backend = load_backend(connection.settings_dict['ENGINE'])
File "/home/smaranh/django-env/local/lib/python2.7/site-packages/django/db/__init__.py", line 34, in __getattr__
return getattr(connections[DEFAULT_DB_ALIAS], item)
File "/home/smaranh/django-env/local/lib/python2.7/site-packages/django/db/utils.py", line 92, in __getitem__
backend = load_backend(db['ENGINE'])
File "/home/smaranh/django-env/local/lib/python2.7/site-packages/django/db/utils.py", line 44, in load_backend
raise ImproperlyConfigured(error_msg)
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:
'dummy', 'mysql', 'oracle', 'postgresql_psycopg2', 'sqlite3'
Error was: No module named psycopg2.extensions
Je suis fatigué et vraiment pas sûr Que faire? S'il vous plaît aider
EDIT
Ok j'ai trouvé ce link ce qui m'a dit ce qui a mal tourné. Maintenant, quand je rentre dans la python
de \ home, et j'exercerai import psycopg2
il ne me donne pas ImportError mais quand je suis dans le env virtuel, je reçois le ImportError
(django-env)[email protected]:~/geodjango$ python
Python 2.7.2+ (default, Oct 4 2011, 20:06:09)
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import psycopg2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named psycopg2
Maintenant, le lien me guide dans la façon de ajouter le chemin mais je ne comprends pas vraiment le processus depuis que je suis nouveau et je ne veux pas l'enfoncer plus loin. Alors quelqu'un peut-il me guider étape par étape comment ajouter le sys.path
??
Pouvez-vous poster la valeur DATABASES sur votre settings.py? – dannyroa
'DATABASES = { 'default': { 'ENGINE': 'django.contrib.gis.db.backends.postgis', # Ajouter 'postgresql_psycopg2', 'mysql', 'sqlite3' ou 'oracle'. 'NAME': 'geodjango', # Ou chemin d'accès au fichier de base de données si vous utilisez sqlite3. 'USER': 'smaranh', # Non utilisé avec sqlite3. 'PASSWORD': '', # Non utilisé avec sqlite3. 'HOST': '', # Définir une chaîne vide pour localhost. Non utilisé avec sqlite3. 'PORT': '', # Définir la chaîne vide par défaut. Non utilisé avec sqlite3. } } ' – Sam007
@dannyroa Je pense que j'ai trouvé la réponse, je viens d'éditer mon post, pourriez-vous m'aider à le comprendre et me dire comment devrais-je aller plus loin? – Sam007