Spec-Zone.ru › Django 1.9

Тестирование приложений GeoDjango

В данном документе содержатся дополнительные заметки и настройки для пользователей PostGIS.

PostGIS

Настройки

Примечание

Ниже приведенные настройки имеют разумные значения по умолчанию и, как правило, не требуют ручного изменения.

POSTGIS_VERSION

При инициализации пространственного бэкенда GeoDjango на PostGIS необходимо выполнить запрос SQL для определения версии, чтобы узнать, какие функции доступны. Расширенные пользователи, желающие предотвратить этот дополнительный запрос, могут вручную задать версию, используя тройку целых чисел, определяющих основные, второстепенные и микро версии PostGIS. Например, для настройки для PostGIS X.Y.Z вы должны использовать:

POSTGIS_VERSION = (X, Y, Z)

Получение достаточных привилегий

В зависимости от вашей конфигурации, этот раздел описывает несколько методов настройки пользователя базы данных с достаточными привилегиями для выполнения тестов приложений GeoDjango в PostgreSQL. Если ваша шаблон пространственной базы данных была создана как описано в инструкциях, пользователю тестовой базы данных достаточно иметь возможность создавать базы данных. В других конфигурациях может потребоваться использовать суперпользователя базы данных.

Создать пользователя базы данных

Для создания пользователя базы данных с возможностью создания баз данных используйте следующую команду:

$ createuser --createdb -R -S <user_name>

Флаги -R -S указывают, что мы не хотим, чтобы пользователь имел возможность создавать дополнительные пользователей (роли) или быть суперпользователем, соответственно.

В качестве альтернативы, вы можете изменить роль существующего пользователя из SQL-оболочки (предполагая, что это делается от имени существующего суперпользователя):

postgres# ALTER ROLE <user_name> CREATEDB NOSUPERUSER NOCREATEROLE;

Создать суперпользователя базы данных

Это может быть сделано во время создания пользователя, например:

$ createuser --superuser <user_name>

Или вы можете изменить роль пользователя из SQL-оболочки (предполагая, что это делается от имени существующего суперпользователя):

postgres# ALTER ROLE <user_name> SUPERUSER;

Windows

В платформах Windows утилита pgAdmin III также может использоваться в качестве простого способа добавления привилегий суперпользователя к пользователю вашей базы данных.

По умолчанию, установщик PostGIS в Windows включает шаблон пространственной базы данных под названием template_postgis.

Тесты GeoDjango

Чтобы запустить тесты GeoDjango при выполнении набора тестов Django с runtests.py все базы данных в файле настроек должны использовать один из пространственных бэкендов базы данных.

Пример

Ниже приведен пример файла настроек без излишеств с пространственными бэкендами, который может быть использован для выполнения всего набора тестов Django, включая те, что в django.contrib.gis:

DATABASES = {
    'default': {
        'ENGINE': 'django.contrib.gis.db.backends.postgis',
        'NAME': 'geodjango',
        'USER': 'geodjango',
    },
    'other': {
        'ENGINE': 'django.contrib.gis.db.backends.postgis',
        'NAME': 'other',
        'USER': 'geodjango',
    },
}

SECRET_KEY = 'django_tests_secret_key'

Предполагая, что вышеупомянутые настройки находятся в файле postgis.py в той же директории, что и runtests.py, тогда все тесты Django и GeoDjango будут выполнены при выполнении команды:

$ ./runtests.py --settings=postgis

Чтобы запустить только набор тестов GeoDjango, укажите gis_tests:

$ ./runtests.py --settings=postgis gis_tests

© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/1.9/ref/contrib/gis/testing/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API