• 3.2
  • 5.0
  • 6.1
  • Версия документации: 3.1

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

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

ПостГИС

Настройки

Примечание

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

POSTGIS_VERSION

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

POSTGIS_VERSION = (X, Y, Z)

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

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

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

To make a database user with the ability to create databases, use the following command:

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

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

Alternatively, you may alter an existing user’s role from the SQL shell (assuming this is done from an existing superuser account):

postgres# ALTER ROLE <user_name> CREATEDB NOSUPERUSER NOCREATEROLE;

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

This may be done at the time the user is created, for example:

$ createuser --superuser <user_name>

Or you may alter the user’s role from the SQL shell (assuming this is done from an existing superuser account):

postgres# ALTER ROLE <user_name> SUPERUSER;

Окна

На платформах 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'

Assuming the settings above were in a postgis.py file in the same directory as runtests.py, then all Django and GeoDjango tests would be performed when executing the command:

$ ./runtests.py --settings=postgis

To run only the GeoDjango test suite, specify gis_tests:

$ ./runtests.py --settings=postgis gis_tests
Back to Top