Django 2.1 - Testing GeoDjango apps

GeoDjango एप्लिकेशन का परीक्षण




django

GeoDjango एप्लिकेशन का परीक्षण

इस दस्तावेज़ में शामिल हैं PostGIS उपयोगकर्ताओं के लिए कुछ अतिरिक्त नोट्स और सेटिंग्स।

PostGIS

सेटिंग्स

ध्यान दें

नीचे की सेटिंग में समझदार चूक हैं, और इसके लिए मैन्युअल सेटिंग की आवश्यकता नहीं है

POSTGIS_VERSION

जब GeoDjango का स्थानिक बैकएंड PostGIS पर आरंभ करता है, तो यह पता लगाने के लिए कि क्या सुविधाएँ उपलब्ध हैं, संस्करण का निर्धारण करने के लिए SQL क्वेरी करनी होगी। इस अतिरिक्त क्वेरी को रोकने के इच्छुक उन्नत उपयोगकर्ता पोस्टगिस के लिए प्रमुख, लघु और माइक्रो संस्करण संख्या निर्दिष्ट करते हुए पूर्णांकों के 3-टपल का उपयोग करके मैन्युअल रूप से संस्करण सेट कर सकते हैं। उदाहरण के लिए, PostGIS XYZ के लिए कॉन्फ़िगर करने के लिए आप उपयोग करेंगे:

POSTGIS_VERSION = (X, Y, Z)

पर्याप्त विशेषाधिकार प्राप्त करना

आपके कॉन्फ़िगरेशन के आधार पर, यह खंड PostgreSQL पर GeoDjango अनुप्रयोगों के लिए परीक्षण चलाने के लिए पर्याप्त विशेषाधिकार के साथ डेटाबेस उपयोगकर्ता को कॉन्फ़िगर करने के लिए कई विधियों का वर्णन करता है। यदि आपका स्थानिक डेटाबेस टेम्प्लेट निर्देशों की तरह बनाया गया था, तो आपके परीक्षण डेटाबेस उपयोगकर्ता को केवल डेटाबेस बनाने की क्षमता होनी चाहिए। अन्य कॉन्फ़िगरेशन में, आपको डेटाबेस सुपरयूज़र का उपयोग करने की आवश्यकता हो सकती है।

डेटाबेस उपयोगकर्ता बनाएँ

डेटाबेस बनाने की क्षमता वाला एक डेटाबेस उपयोगकर्ता बनाने के लिए, निम्नलिखित कमांड का उपयोग करें:

$ 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;

विंडोज

विंडोज प्लेटफॉर्म पर pgAdmin III उपयोगिता को अपने डेटाबेस उपयोगकर्ता के लिए सुपरसुसर विशेषाधिकारों को जोड़ने के लिए एक सरल तरीके के रूप में भी इस्तेमाल किया जा सकता है।

डिफ़ॉल्ट रूप से, Windows पर PostGIS इंस्टॉलर में template_postgis नामक एक टेम्पलेट स्थानिक डेटाबेस शामिल है।

GeoDjango परीक्षण

Django टेस्ट सूट को runtests.py साथ चलाने के बाद जियोजॉन्ग टेस्ट को निष्पादित करने के लिए, सेटिंग्स फ़ाइल में सभी डेटाबेस में से एक स्थानिक डेटाबेस बैकएंड का उपयोग करना चाहिए।

उदाहरण

निम्नलिखित स्थानिक बैकएंड के साथ एक उदाहरण नंगे-हड्डियों की सेटिंग फ़ाइल है, जिसका उपयोग django.contrib.gis सहित पूरे Django टेस्ट सूट को चलाने के लिए किया जा सकता है:

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 रूप में एक ही निर्देशिका में एक postgis.py फ़ाइल में थे, तब कमांड निष्पादित करते समय सभी Django और GeoDjango परीक्षण किए जाएंगे:

$ ./runtests.py --settings=postgis

केवल GeoDjango परीक्षण सूट चलाने के लिए, gis_tests निर्दिष्ट करें:

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