Tôi đang gặp sự cố thực sự khi thiết lập cơ sở dữ liệu không gian và đồng bộ hóa với GeoDjango. Tôi đã có thể thiết lập cơ sở dữ liệu không gian theo các tài liệu geodjango và tạo ra một ứng dụng django nhưng khi tôi chạyKhông thể syncdb trong GeoDjango App
python manage.py sqlall world
Tôi nhận này,
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
Tôi mệt mỏi và thực sự không chắc chắn phải làm gì? Xin vui lòng giúp
EDIT
Ok tôi thấy link này mà loại nói với tôi những gì đã xảy ra. Bây giờ khi tôi nhận được vào python
từ \ nhà, và tôi thực hiện import psycopg2
nó không cho tôi bất kỳ ImportError nhưng khi tôi bên trong env ảo, tôi nhận được 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
Bây giờ vào liên kết hướng dẫn cho tôi làm thế nào để nối thêm đường dẫn nhưng tôi không thực sự hiểu được quá trình kể từ khi tôi mới và tôi không muốn vít thêm nó. Vì vậy, ai đó có thể xin hướng dẫn tôi từng bước làm thế nào để nối thêm sys.path
??
Bạn có thể gửi giá trị CƠ SỞ DỮ LIỆU trên settings.py của bạn? – dannyroa
'DATABASES = { 'mặc định': { 'ĐỘNG CƠ': 'django.contrib.gis.db.backends.postgis', # Thêm 'postgresql_psycopg2', 'mysql', 'sqlite3' hoặc 'oracle'. 'NAME': 'geodjango', # Hoặc đường dẫn đến tệp cơ sở dữ liệu nếu sử dụng sqlite3. 'USER': 'smaranh', # Không được sử dụng với sqlite3. 'PASSWORD': '', # Không được sử dụng với sqlite3. 'HOST': '', # Đặt thành chuỗi rỗng cho localhost. Không được sử dụng với sqlite3. 'PORT': '', # Đặt thành chuỗi trống theo mặc định. Không được sử dụng với sqlite3. } } ' – Sam007
@dannyroa Tôi nghĩ rằng tôi đã tìm thấy câu trả lời, chỉ cần chỉnh sửa bài đăng của tôi, bạn có thể giúp tôi hiểu nó và cho tôi biết làm thế nào tôi nên tiếp tục? – Sam007