ошибки geodjango syncdb.Из учебника геоджанго - PullRequest
5 голосов
/ 25 августа 2010

Я следовал установке 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**

Разве это не тот постгис, который я успешно скачал и установил?почему не работает?Я новичок и пытаюсь учиться, поэтому любая помощь будет принята с благодарностью.

Ответы [ 2 ]

25 голосов
/ 26 августа 2010

Проблема в settings.py

'django.db.backends.postgis'

предполагается, что

django.contrib.gis.db.backends.postgis

это должно сделать.

1 голос
/ 08 января 2013

Я столкнулся с такой же ошибкой в ​​Mac OS X 10.6 после того, как я следовал инструкциям на сайте geodjango и установил пакеты с помощью Homebrew. По всей видимости, в документации Geodjango приведены некоторые неправильные / устаревшие инструкции о том, как его установить. Чтобы заставить Геоджанго работать, я сделал несколько шагов:

  1. Прямо сейчас GeoDjango 1.4 не очень хорошо работает с PostGIS 2.0 (это версия Homebrew, установленная, когда я следовал инструкциям в документации GeoDjango). Итак, мне нужно было установить PostGIS 1.5. Я сделал это с помощью следующих команд терминала (чтобы это работало, у вас должен быть установлен Homebrew):

    brew tap homebrew/versions
    brew install postgis15
    brew untap homebrew/versions
    
  2. PostGIS 1.5 не очень хорошо работает с PostGreSQL 9.2 (это версия Homebrew, установленная, когда я следовал инструкциям документации Geodjango). Итак, я установил PostGreSQL 9.1. Я забыл, какие именно команды Homebrew я использовал для установки PostGreSQL 9.1, но они должны быть похожи на предыдущий шаг.

  3. В моем случае предыдущих шагов не хватило, чтобы запустить Геоджанго. Когда я снова попытался запустить 'syncdb' в Django, я обнаружил новую ошибку в Терминале:

    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 начал работать правильно!

Этот источник был самым полезным, который я нашел, и ссылки на другие полезные ссылки, которые более подробно освещают некоторые из этих проблем: http://pragmaticstartup.wordpress.com/2012/09/26/installing-django-postgis-postgres-on-os-x-version-hell/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...