Настройка базы данных Postgresql POSTGIS

#python #django #database #postgresql #geodjango

#python #django #База данных #postgresql #geodjango

Вопрос:

Во-первых, я новичок в django. Я пытаюсь использовать наборы данных GeoLite (GeoIP2) в моей базе данных POSTGIS в Django 1.10. Когда я пытаюсь настроить myapp/settings.py файл, я получаю сообщения об ошибках.Похоже, в каталоге django есть серверные части базы данных по разным путям; Не могли бы вы пояснить, почему?

  1. django contrib gis db backends postgis
  2. django db backends

После активации моей виртуальной среды python3, когда я пытаюсь установить базу данных по умолчанию в моем settings.py файл как postgresql (‘django.db.backends.postgresql’), я получаю сообщение об ошибке:

 AttributeError:”Database Operations’ object has no attribute ‘geo_db_type’.
  

Когда я пытаюсь использовать POSTGIS в качестве ядра базы данных (я устанавливаю GDAL_LIBRARY_PATH в своей виртуальной среде), я получаю сообщение об ошибке:

 django.contrib.gis.db.backends.postgis' is not an available database backend. Try using 'django.db.backends.XXX', where XXX is one of 'mysql', 'oracle', 'postgresql',and 'sqlite'.
Error was: Cannot import name ‘GDALRaster’.
  

Можете ли вы предложить возможные решения вышеуказанных сообщений об ошибках? Спасибо.

Ответ №1:

Установил GDAL с сайта Кристофера Голке (32-разрядный GDAL-2.0.3-cp35-cp35m-win32.whl) в виртуальную среду. Загрузите OSGEO4W (32-разрядная версия) и установите опцию Express Web. Создайте переменные среды. Установите переменные среды, как показано ниже:

set PYTHON_ROOT=C:Python35-32 set GDAL_DATA=C:Program FilesPostgreSQL 9.6gdal-набор данных PROJ_LIB=C:Program Files PostgreSQL 9.6sharecontrib postgis proj set PATH=%PATH%;%PYTHON_ROOT%;%OSGEO4W_ROOT% bin reg ДОБАВИТЬ «HKLM SYSTEM CurrentControlSet Control Session Manager Environment» / v Путь / t REG_EXPAND_SZ / f / d «%ПУТЬ%» reg ДОБАВИТЬ «HKLM SYSTEM CurrentControlSet Control Session Manager Environment» / v GDAL_DATA / t REG_EXPAND_SZ / f / d «%GDAL_DATA%» reg ДОБАВИТЬ «HKLM SYSTEM CurrentControlSet Control Session Manager Environment» /v PROJ_LIB /t REG_EXPAND_SZ /f / d «%PROJ_LIB%»

Я также установил LD_LIBRARY_PATH как C:Python35-32myvenv_python3Libsite-packagesosgeo . Затем база данных неправильно настроена и не может импортировать ‘GDALRaster’ ушел.Из вашего каталога проекта django теперь можно было бы выполнить миграцию, используя: python manage.py мигрировать