2012-05-14 13 views
11

मैं an earlier problem परीक्षण करने के लिए एक GeoDjango ऐप स्थापित करने की कोशिश कर रहा हूं। मैं एक PostgreSQL डेटाबेस सेट किया है, एक नया Django परियोजना है और एप्लिकेशन बनाया है, लेकिन जब मैं ./manage.py syncdb कोशिश मैं इस मिल:मेरा पोस्टजीआईएस डेटाबेस ठीक दिखता है लेकिन GeoDjango अन्यथा सोचता है ... क्यों?

django.core.exceptions.ImproperlyConfigured: के लिए डेटाबेस "django_geotest" PostGIS संस्करण का निर्धारण नहीं किया जा सकता। GeoDjango कम से कम PostGIS संस्करण 1.3 की आवश्यकता है। क्या डेटाबेस एक स्थानिक डेटाबेस टेम्पलेट से बनाया गया था?

कौन सा मुझे समझ नहीं आता के रूप में मैं पहले से GeoDjango की सभी आवश्यकताओं को स्थापना के माध्यम से किया गया है, और ऐसा करने से इस django_geotest डेटाबेस बनाया: जैसे डेटाबेस सही ढंग से है

$ createdb -T template_postgis django_geotest 

और यह लग रहा है सेट अप:

django_geotest=# SELECT PostGIS_full_version(); 
            postgis_full_version           
------------------------------------------------------------------------------------------------------- 
POSTGIS="1.5.3" GEOS="3.2.2-CAPI-1.6.2" PROJ="Rel. 4.7.1, 23 September 2009" LIBXML="2.7.3" USE_STATS 
(1 row) 

डेटाबेस बताते हुए मैं इस मिल:

django_geotest=# \d     
      List of relations 
Schema |  Name  | Type | Owner 
--------+-------------------+-------+------- 
public | geography_columns | view | phil 
public | geometry_columns | table | phil 
public | spatial_ref_sys | table | phil 
(3 rows) 

तो अब मैं आगे बढ़ने के लिए अटक गया हूं ... postgresql और इसके टेम्पलेट्स आदि का मेरा ज्ञान इतना अच्छा नहीं है। कोई विचार? धन्यवाद।

+0

से पहले मुझे एक ही समस्या थी लेकिन मुझे पता नहीं लगा मैंने इसे कैसे हल किया। मुझे लगता है कि मैंने यह कोशिश की: http://stackoverflow.com/questions/5907672/installation-error-while-trying-to-install-a-gis-plication-using-geodjango – dannyroa

+1

पोस्टग्रेएसक्यूएल 9.3 और पोस्टजीआईएस 2.1 के साथ एक ही समस्या थी होमब्री का उपयोग कर ओएस एक्स 10.9.1 पर स्थापित, मुझे बस इतना करना था कि 'POSTGIS_VERSION = (2, 1) ''.py.py' में जोड़ें। यह बस सेटिंग – BenjaminGolder

+0

@ बेंजामिन गॉल्डर को नहीं पढ़ सका - जिसने मेरी समस्या को हल किया ... सुझाव है कि यह सही जवाब होना चाहिए? – Erve1879

उत्तर

18

मुझे होमग्रा का उपयोग कर ओएस एक्स 10.9.1 पर पोस्टग्रेएसक्यूएल 9.3 और पोस्टजीआईएस 2.1 के साथ एक ही समस्या थी। settings.py करने के लिए अपने PostGIS संस्करण के लिए

POSTGIS_VERSION = (2, 1) 

अल्पविराम से अलग नंबर का उपयोग कर:

इस विशेष मुद्दे के लिए, आप केवल इस लाइन जोड़ने की जरूरत है।

मुझे यकीन नहीं है कि क्यों, लेकिन Django को PostGIS से संस्करण जानकारी पढ़ने में परेशानी हो रही है।

+0

इसे सही उत्तर के रूप में चिह्नित करने के लिए जाना क्योंकि यह कुछ लोगों के लिए काम करता है; मैंने कोशिश नहीं की है। धन्यवाद! –

+0

सेटिंग्स.py कहां है? – Sekai

1

मुझे कुछ महीने पहले एक ही समस्या थी। मुझे टेम्पलेट_डेटाबेस और मुख्य डीबी फिर से बनाना था। From this link

5

जब भी मुझे यह त्रुटि एक ही स्थिति में मिलती है (यानी जब डेटाबेस पूरी तरह से वैध पोस्टजीआईएस डेटाबेस प्रतीत होता है) यह पता चला है कि DATABASES में settings.py में कोई त्रुटि हुई है। डेटाबेस में असफल होने पर यह वास्तव में प्रमाणीकरण है, लेकिन ऐसा लगता है कि मेरी GeoDjango प्रोजेक्ट शुरू करते समय डेटाबेस को छूने वाली पहली चीज़ postgis_lib_versiondjango/contrib/gis/db/backends/postgis/operations.py

+0

यह सबसे अच्छा जवाब है। टिकट https://code.djangoproject.com/ticket/24862#ticket देखें – Bryce

संबंधित मुद्दे