2009-04-18 11 views
7

यह मामूली लग सकता है, लेकिन मैं जानना चाहता हूं कि मुझे अपनी पाइथन कक्षाएं कहां रखी गई हैं (Model से नहीं)?Django परियोजना में पाइथन कक्षाओं के लिए सबसे अच्छी जगह क्या है?

मेरा मतलब है, मेरे मॉडल वर्ग myapp/models.py में परिभाषित किए गए हैं, लेकिन मैं चाहता हूं कि, उदाहरण के लिए, एक साधारण फ़ीड लिखने के लिए सिंडिकेशन फीड फ्रेमवर्क का उपयोग करें। The doc कहता है कि मुझे फीड क्लास लिखना है लेकिन ... मुझे कोड कहां रखना चाहिए? कौन सा पथ और फ़ाइल? मैं डिफ़ॉल्ट Django निर्देशिका संरचना से चिपकना चाहता हूं।

धन्यवाद!

उत्तर

8

आप इसे कहां रखना चाहते हैं उसे रखने के लिए स्वतंत्र हैं।

उदाहरण:

project 
    myapp 
    views.py 
    models.py 
    feeds.py 

तो फिर तुम आयात कर सकते हैं आप कर रहे हैं आयात का उपयोग करके मॉड्यूल फ़ीड।

project.myapp.feeds से आयात * जब आप फ़ाइल का एक बहुत से निपटने के

बनाना निर्देशिका बेहतर है। उदाहरण के लिए:

project 
    myapp 
     models.py 
     views.py 
     extras 
     feeds.py 
     sitemaps.py 

मेरा सुझाव है कि आप इस पढ़ने के लिए: Python Modules: Packages

+0

तो ... इसके लिए कोई Django सम्मेलन नहीं है? अगर मेरे पास कई कक्षाएं हैं, तो क्या मुझे माईएप डीआईआर के तहत "कक्षाएं" फ़ोल्डर बनाना चाहिए? धन्यवाद! –

+2

मैं सुझाव नहीं देता, यह बहुत भ्रम पैदा करता है। इस के लिए क्लीनर है: project.myapp.feeds project.myapp.classed.feeds से अंततः आप यह कर सकते हैं: project.myapp.extras.feeds परियोजना MyApp एक्स्ट्रा कलाकार फ़ीड –

+0

मैंने अपना जवाब अपडेट किया। प्रोजेक्ट.myapp.feeds –

2

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

project/ 
    blog/ 
     __init__.py 
     feeds.py 
     models.py 
     views.py 

सामान्य में, अन्य गैर मॉडल कक्षाओं के लिए, आप उन्हें जहां भी चाहें रख सकते हैं (के रूप में उल्लेख एंड्रिया डी फारसी द्वारा)। आम तौर पर आप उचित अनुप्रयोग पैकेज में उन्हें मॉड्यूल के रूप में रखते हैं। (डेटाबेस में

project/ 
    blog/ 
     __init__.py 
     feeds.py 
     models.py 
     other_stuff.py 
     views.py 
    lib/ 
     __init__.py 
     things.py 
+0

सलाह के लिए धन्यवाद! –

0
Models.py 

एक सबसे अच्छी जगह अपने clas के लिए परिणाम में मॉडल डेटा को assesentory है: सामान्य उपयोग में कक्षाओं के लिए, मैं आम तौर पर एक पैकेज है कि सामान्य वर्गों और काम करता है, इसलिए की तरह होता है lib बनाएं जिसका नाम)

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

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