Testning av GeoDjango-apparLink to this heading

I den här dokumentationen finns några ytterligare anteckningar och inställningar för PostGIS-användare.

PostGISLink to this heading

InställningarLink to this heading

POSTGIS_VERSIONLink to this heading

När GeoDjangos spatiala backend initieras på PostGIS måste den utföra en SQL-fråga för att bestämma versionen för att ta reda på vilka funktioner som är tillgängliga. Avancerade användare som vill undvika denna extra fråga kan ställa in versionen manuellt med hjälp av en 3-tupel av heltal som anger major-, minor- och mikroversionsnumren för PostGIS. För att till exempel konfigurera för PostGIS X.Y.Z skulle du använda:

Code
POSTGIS_VERSION = (X, Y, Z)

Erhållande av tillräckliga privilegierLink to this heading

Beroende på din konfiguration beskriver detta avsnitt flera metoder för att konfigurera en databasanvändare med tillräckliga behörigheter för att köra tester för GeoDjango-applikationer på PostgreSQL. Om din spatial databasmall skapades som i instruktionerna, behöver din testdatabasanvändare bara ha möjlighet att skapa databaser. I andra konfigurationer kan det krävas att du använder en databas-superanvändare.

Skapa databasanvändareLink to this heading

Använd följande kommando för att skapa en databasanvändare med möjlighet att skapa databaser:

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

Flaggorna -R -S anger att vi inte vill att användaren ska ha möjlighet att skapa ytterligare användare (roller) respektive vara superanvändare.

Alternativt kan du ändra en befintlig användares roll från SQL-skalet (förutsatt att detta görs från ett befintligt superanvändarkonto):

SQL
postgres# ALTER ROLE <user_name> CREATEDB NOSUPERUSER NOCREATEROLE;

Skapa superanvändare för databasenLink to this heading

Detta kan t.ex. göras när användaren skapas:

Shell
$ createuser --superuser <user_name>

Eller så kan du ändra användarens roll från SQL-skalet (förutsatt att detta görs från ett befintligt superanvändarkonto):

SQL
postgres# ALTER ROLE <user_name> SUPERUSER;

FönsterLink to this heading

På Windows-plattformar kan du använda verktyget pgAdmin III för att lägga till superanvändarprivilegier för din databasanvändare.

Som standard innehåller PostGIS-installationsprogrammet på Windows en mall för en rumslig databas med namnet ”template_postgis”.

GeoDjango-testLink to this heading

För att GeoDjango-testerna ska köras när du kör Django-testsviten med runtests.py måste alla databaser i inställningsfilen använda en av spatial databasbackends.

ExempelLink to this heading

Följande är ett exempel på en renodlad inställningsfil med spatiala backends som kan användas för att köra hela Djangos testsvit, inklusive de i django.contrib.gis:

Code
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"

Om du antar att inställningarna ovan finns i filen ”postgis.py” i samma katalog som ”runtests.py”, kommer alla Django- och GeoDjango-tester att utföras när kommandot körs:

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

Om du bara vill köra GeoDjango-testsviten anger du gis_tests:

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