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:
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:
$ 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):
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:
$ 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):
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:
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:
$ ./runtests.py --settings=postgis
Om du bara vill köra GeoDjango-testsviten anger du gis_tests:
$ ./runtests.py --settings=postgis gis_tests