2011-08-10 15 views
6

प्रारंभ नहीं कर सकता मैं Django में एक नौसिखिया हूँ और हर मैं चलाने का प्रयास python panel/manage.py startapp %app% यह मुझे त्रुटि देता है (पैनल अपने प्रोजेक्ट है):किसी भी Django एप्लिकेशन

Error: '%app%' conflicts with the name of an existing Python module and cannot be used as an app name. Please try another name. 

मैं कुछ गलत कर रहा हूं?

निश्चित रूप से कंपनियां या संपर्क या आंकड़े मौजूदा पायथन मॉड्यूल का नाम नहीं हैं?

उत्तर

5

शायद आप

cd panel 
python manage.py startapp yourappname 

करने की जरूरत है मुझे यकीन है कि एक निर्देशिका से आदेश चलाकर ऊपर अपनी परियोजना ठीक से काम नहीं कर रहा हूँ। अपने परियोजना और अपने एप्लिकेशन अलग-अलग नाम की आवश्यकता -

+0

हो सकता है कि कुछ इस तरह लिनक्स में हो सकता है, लेकिन लेखक त्रुटि हमें बताता है, कि Django आवेदन बनाने की कोशिश की है, लेकिन यह पायथन मॉड्यूल के साथ संघर्ष किया है। – Dracontis

+0

लेकिन त्रुटि संदेश गलत लगता है, इसलिए मैं किसी और चीज पर अनुमान लगा रहा हूं जो अजीब दिखता है। – Leopd

+1

पायथन पथ (जो वर्तमान निर्देशिका भी शामिल है) में किसी भी निर्देशिका में यह एक मॉड्यूल में माना जाता है एक '__init __। Py' फ़ाइल है। –

1

क्लासिक "माइसाइट" या "मायप्रोजेक्ट" आज़माएं। आप इसे कभी भी हटा सकते हैं, इसलिए यदि यह स्वीकार किया जाएगा, तो आपके सभी निजी विचार पायथन मॉड्यूल के साथ संघर्ष करते हैं।

संपादित करें: मैंने आपके सभी विचारों की कोशिश की, मेरे लिए कोई त्रुटि नहीं थी। इसलिए, यदि आपने django के लिए समर्थन पुस्तकालय या मॉड्यूल स्थापित किए हैं, तो उनमें से कुछ में ऐसे नाम हो सकते हैं।

8

यह एक मजेदार एक है। आपने शायद एक प्रोजेक्ट बनाया है, फिर उसी नाम से स्टार्टअप करने का प्रयास किया।

2

यह संदेश तब प्रदर्शित होता है यदि आप एक ही ऐप नाम से दो बार "स्टार्टएप" चलाते हैं। जैसा कि ओपी द्वारा ऊपर बताया गया है, यह ऐप को फिर से लोड नहीं करता है, यह एक बनाता है।

+1

तो आप इसे कैसे ठीक करते हैं? मैंने पहली बार गलत निर्देशिका में ऐप बनाया था। –

9

मैं भी उलझन में था, जब तक मुझे एहसास हुआ कि एक Django परियोजना अनुप्रयोगों के लिए एक कंटेनर है; यह अनुक्रम इसे थोड़ा स्पष्ट बनाता है:

# first create a Project (container). 
django-admin.py startproject Project 

# create multiple apps 
cd Project 
python manage.py startapp polls 
python manage.py startapp hello 
... 
+0

आह हाँ, साझा करने कि शायद कुछ लोगों के लिए एक बहुत स्पष्ट करेगी लिए धन्यवाद। – Darren

1

मुझे लगता है कि आप पहले से ही पैनल डीआईआर में ऐप का डीआईआर बना चुके हैं। आदेश 'स्टार्टएप' स्वचालित रूप से एक ऐप बनाना है। यदि आपके पास पहले से कोई है, तो यह विफल हो जाता है।

0

यह त्रुटि ऐप नाम और प्रोजेक्ट नाम के बीच नामों के संघर्ष के कारण है। आपने अपने ऐप और प्रोजेक्ट के लिए एक ही नाम दिया था। आपकी परियोजना और ऐप को अलग नाम होना चाहिए। अगर आपने उपरोक्त नाम दिया था उल्लिखित त्रुटि होगी।

एप्लिकेशन और इस परियोजना के बीच अंतर समझना

परियोजनाओं बनाम क्षुधा

एक परियोजना है और किसी ऐप के बीच क्या अंतर है? एक ऐप एक वेब एप्लिकेशन है जो कुछ करता है - उदाहरण के लिए, एक वेबलॉग सिस्टम, सार्वजनिक रिकॉर्ड का डेटाबेस या एक साधारण पोल ऐप। एक परियोजना विन्यास का एक संग्रह है और एक विशेष वेब साइट के लिए ऐप्लिकेशन। एक प्रोजेक्ट में कई ऐप्स हो सकते हैं। कोई एप्लिकेशन कई परियोजनाओं में हो सकता है।

पहली परियोजना बनाएँ। तो ऐप बनाने के।

नोट: अनुप्रयोग और परियोजना के लिए नाम अलग

पहले ProjectName

django-admin.py startproject Projectname . 

फिर APPNAME साथ ऐप बनाने के साथ एक प्रोजेक्ट बना होना चाहिए। क्योंकि मैं परिवर्तन करने के बाद मेरे ऐप "पुनः आरंभ" करने की कोशिश कर रहा था (आपके ऐप्लिकेशन सुनिश्चित करें कि आप एक ही निर्देशिका manage.py में हैं और यह आदेश लिखें बनाने बनाने के लिए)

python manage.py startapp Appname 
0

मैं एक ही मुद्दा था, लेकिन startapp एक नया ऐप बनाने के लिए एक बार इस्तेमाल किया जाना है। परिवर्तन देखने के लिए, python manage.py migrate के साथ डीबी के साथ ऐप सिंक्रनाइज़ करें और इसके बजाय सर्वर को python manage.py runserver के साथ पुनरारंभ करें।

django-admindocs

(manage.py does essentially the same thing as django-admin) से

startapp <app_label> [destination]

django-admin startapp

Creates a Django app directory structure for the given app name in the current directory or the given destination.

By default the directory created contains a models.py file and other app template files. (See the source for more details.) If only the app name is given, the app directory will be created in the current working directory.

If the optional destination is provided, Django will use that existing directory rather than creating a new one. You can use ‘.’ to denote the current working directory.

For example:

django-admin startapp myapp /Users/jezdez/Code/myapp

1

यह प्रक्रिया कैसे मैं अपने संदेह स्पष्ट हो गया है।

सबसे पहले, मैंने अपनी प्रोजेक्ट निर्देशिका के अंदर एक निर्देशिका बनाई और __init__.py, models.py, admin.py, apps.py & views.py।

तब मैं पायथन प्रबंधन.py रनरवर & यह अच्छी तरह से काम करता है।

फिर उस पृष्ठ पर सुझाए गए अनुसार मैंने स्टार्टअप कमांड का उपयोग किया। मुझे यह त्रुटि मिली:

CommandError: 'ucportal' conflicts with the name of an existing Python 
module and cannot be used as an app name. Please try another name. 

उसके बाद मैंने उस निर्देशिका को हटा दिया और उसी नाम से स्टार्टअप कमांड चलाया और यह ठीक काम किया।

तो 'स्टार्टअप' कमांड स्वचालित रूप से एक ऐप बनाना है। यदि आपके पास पहले से कोई है, तो यह विफल हो जाता है।

@ डीएजी द्वारा दिए गए उत्तर ने मेरे लिए काम किया।

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