2012-01-07 14 views
6

हाल ही में मैंने एक छोटा Django प्रोजेक्ट शुरू किया जिसे मैंने एक स्थानीय मशीन पर SQLite3 डेटाबेस और एकीकृत विकास सर्वर का उपयोग करके विकसित किया। अब मैंने पूरे प्रोजेक्ट को डेबियन चलाने वाले सर्वर पर कॉपी किया है।गलत (पुरानी) डेटाबेस सेटिंग्स का उपयोग कर Django प्रोजेक्ट

जब तक मैं SQLite3 डेटाबेस का उपयोग करता रहा तब तक सब कुछ ठीक से काम करता था। अब मैं एक स्थानीय MySQL डेटाबेस पर स्विच करना चाहता था, इसलिए मैंने अपनी परियोजना के रूट फ़ोल्डर में settings.py फ़ाइल को बदल दिया, डेटाबेस बनाया और उपयोगकर्ता को जोड़ा। मैं फिर syndb भाग गया और यह किसी भी समस्या के बिना आवश्यक तालिकाओं बनाया।

अब मैं ऐप का उपयोग करना चाहता था, लेकिन मुझे त्रुटियां मिल रही हैं, क्योंकि Django टेबल नहीं ढूंढ सकता है - न तो 'मानक टेबल' जैसे django_sessions और न ही मेरी खुद की टेबल - भले ही वे वहां हैं (मैंने डेटाबेस की जांच की है) ।

Exception Location: /usr/local/lib/python2.6/dist-packages/django/db/backends/sqlite3/base.py in execute, line 234 

यह अभी भी भले ही मैं MySQL बैकएंड उपयोग करने के लिए यह सेट SQLite3 बैकएंड उपयोग कर रहा है Django की तरह लगता है:

एक बात यह है कि DatabaseError पृष्ठों मैं के बारे में अजीब लगता है निम्न पंक्ति है।

दूसरी चीज जो लगभग मुझे बाहर निकलती है यह है: मैंने rm का उपयोग करके अपने ऐप के रूट फ़ोल्डर में data.sqlite फ़ाइल हटा दी है। लेकिन जब मैं अपने ऐप का उपयोग करता हूं, तो फ़ाइल को फिर से बनाया जा रहा है!

क्या कोई मुझे बता सकता है कि मैं गलत कहां गया?

+1

क्या आपके पास सेटिंग्स.pyc फ़ाइल है? –

+0

हां, और मैंने इसे पहले से ही दो बार हटा दिया है। लेकिन उसने कुछ भी नहीं बदला। – user1136324

+0

क्या आपके पास local_settings.py फ़ाइल है? –

उत्तर

3

mod_wsgi या mod_python के साथ उत्पादन में चलते समय, जब भी आप वेबसर्वर को पुनः लोड/पुनरारंभ नहीं करते हैं, तब तक नया कोड शामिल नहीं होता है।

यदि आप mod_wsgi के साथ अपाचे का उपयोग कर रहे हैं, तो आप केवल python कोड को पुनरारंभ करने के लिए wsgi.py फ़ाइल touch कर सकते हैं।

1

यदि आप कोई परिवर्तन करते हैं तो "sudo /etc/init.d/apache2 पुनः लोड" पर चल रहे अपाचे पर चल रहा है।

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