Spec-Zone.ru › Django 5.1

Тестирование приложений 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.1/ref/contrib/gis/testing/

Spec-Zone.ru

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