2011-03-23 17 views
9

मैं एक नया Django परियोजना बताते हुए की सोच रहा हूँ की भूमिका और अब मैं एक परियोजना का नाम चुनना है, तो मैं लिख सकते हैं:Django: परियोजना का नाम

djangoadmin startproject <something> 

इस संदेह को जन्म देती है, मैं नहीं कर रहा हूँ नाम के बारे में सुनिश्चित करें, और मुझे लगता है कि मैं इसे भविष्य में बदलना चाहता हूं। तो, मेरे पास दो प्रश्न हैं:

  • परियोजना कोड और तैनाती में परियोजना का नाम क्या भूमिका निभाता है?
  • मेरे प्रोजेक्ट के नाम को बदलने के लिए मुझे किन कदमों की आवश्यकता है?

धन्यवाद!

उत्तर

3

मुख्य परियोजना का नाम आपके नामस्थान के लिए आधार के रूप में उपयोग किया जाता है।

डिफ़ॉल्ट रूप से, आपके पास सेटिंग.py लाइन में होगा: "ROOT_URLCONF = 'something.urls'"।

प्रोजेक्ट नाम बदलने के लिए, आपको इसका संदर्भ देने वाले प्रत्येक आयात को बदलने की आवश्यकता है।

बेशक आप हमेशा 'कुछ' उपसर्ग के बिना मॉड्यूल का उपयोग कर सकते हैं, तो आपको यह सुनिश्चित करना होगा कि मॉड्यूल के बीच कोई नाम/नामस्थान संघर्ष नहीं होगा। मैं इस विकल्प का उपयोग कर रहा हूं, क्योंकि मेरे पास अतिरिक्त परेशानी के बिना कुछ प्रतियों में एक ही कोड हो सकता है।

0

इस पार्टी के लिए देर हो चुकी है, लेकिन भविष्य के संदर्भ के लिए यह किसी की मदद कर सकता है। मुझे बस एक प्रोजेक्ट नाम बदलना पड़ा क्योंकि यह तीसरे भाग वाले ऐप के नाम से टकरा गया था। ऐप नाम से प्रोजेक्ट नाम बदलना आसान है! (Django 1,11)

फ़ोल्डर संरचना

project/ 
    manage.py 
    project/ 
     settings.py 
     urls.py 
     wsgi.py 
    venv/ 
  1. तो venv में एक आभासी वातावरण का उपयोग, के लिए करने के लिए newproject
  2. बदलें project दोनों project/ फ़ोल्डरों का नाम बदलें तारीख requirements.txt अप करने के लिए एक उत्पन्न pip freeze
  3. साथ पाइथन फाइलों में newproject:

manage.py,, DJANGO_SETTINGS_MODULE

settings.py देखने DJANGO_SETTINGS_MODULE और WSGI_APPLICATION, और एक टिप्पणी के लिए देखो। आप डेटा को रखना चाहते हैं, यह मानते हुए कि आप डेटाबेस का नाम और डेटाबेस उपयोगकर्ता को अपरिवर्तित छोड़ सकते हैं और छोड़ना चाहिए।

urls.py, एक ट्रिपल उद्धृत स्ट्रिंग में

wsgi.py, DJANGO_SETTINGS_MODULE प्लस एक टिप्पणी

  1. एक आभासी वातावरण का उपयोग करते हैं, तो आपको इसे फिर से बनाना होगा। मैंने venv से old.venv, फिर virtualenv-3 venv का नाम बदल दिया, फिर pip install और आपके द्वारा जेनरेट की गई आवश्यकता फ़ाइल 1 का उपयोग करें। ट्रैश old.venv सुनिश्चित करें कि नया कोई एओके काम कर रहा है।

  2. /path/to/project भी इस तरह के /etc/nginx के रूप में सिस्टम config फाइल और gunicorn के लिए एक .service फ़ाइल है, जो /path/to/newproject के लिए बदल रहा आवश्यकता होगी में सुविधा होगी।

  3. सर्वर और परीक्षण को पुनरारंभ करें। काम करना चाहिए।

अब आप कोई एप्लिकेशन आपके INSTALLED_APPS को project कहा जाता है जोड़ सकते हैं!

अब मुझे पता है कि घर में Django परियोजनाओं ${my_org_name}_something, या इसी तरह के कॉल करना अच्छा विचार है, इसलिए वे तीसरे पक्ष के ऐप्स के साथ संघर्ष नहीं करेंगे।

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