Spec-Zone.ru › Django 6.0

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

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

PostGIS

Настройки

Примечание

Указанные ниже настройки имеют подходящие значения по умолчанию, поэтому их не нужно задавать вручную.

POSTGIS_VERSION

При инициализации пространственного модуля PostGIS в GeoDjango выполняется 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/6.0/ref/contrib/gis/testing/

Spec-Zone.ru

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