Spec-Zone.ru › Django 5.2

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

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

PostGIS

Настройки

Примечание

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

POSTGIS_VERSION

При инициализации пространственного бэкенда GeoDjango в PostGIS, он должен выполнить запрос SQL, чтобы определить версию, чтобы понять какие функции доступны. Расширенные пользователи, желающие избежать этого дополнительного запроса, могут установить версию вручную, используя кортеж из 3 целых чисел, определяющих основные, второстепенные и микро версии 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/5.2/ref/contrib/gis/testing/

Spec-Zone.ru

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