2009-12-16 17 views
47

मेरे पास कुछ फ़ंक्शन हैं जिन्हें मैंने लिखा है कि मुझे अपने django ऐप में उपयोग करने की आवश्यकता है। मैं उनके साथ फाइल कहां रखूंगा और मैं उनके विचारों के साथ उन्हें कॉल करने योग्य कैसे बनाऊंगा?Django: सहायक कार्यों को कहां रखा जाए?

उत्तर

50

मैं आमतौर पर फ़ाइल utils.py में इस तरह के एप्लिकेशन विशिष्ट सहायक समारोह रखा है और इस

from myapp.utils import my_cool_func 

def view_coolness(request): 
    data = my_cool_func(request) 
    return render_to_response("xxx.html") 

तरह someting का उपयोग, लेकिन यह निर्भर करता है कि आप क्या सहायक होता है,, मिडलवेयर का हिस्सा हो सकता है कि वे अनुरोध संशोधित किया जा सकता है, इसलिए आपको यह बताने की ज़रूरत है कि वास्तव में उन सहायक कार्यों को

+11

कोड में ऐप का उल्लेख करना आम तौर पर एक बुरा विचार है। केवल utils से आयात करें my_cool_func' को उस ऐप के नाम को फिर से बताए बिना काम करना चाहिए, जिसमें आप पहले से हैं। –

+3

@ पीटर बेंग्ससन, लेकिन आप पैकेज में मॉड्यूल में यूटिल कैसे आयात करते हैं। मेरे पास कई व्यू मॉड्यूल के साथ फ़ोल्डर हैं, और फिर मिडलवेयर फ़ोल्डर्स इत्यादि –

+0

@ पीटरबेंग्ससन, एक बुरा विचार क्यों है? संपादित करें: ओह, यह 200 9 है (हालांकि मैं अभी भी उत्सुक हूं) –

7

यदि वे किसी विशिष्ट ऐप से संबंधित हैं, तो मैं आमतौर पर उन्हें संबंधित ऐप फ़ोल्डर में डालता हूं और फ़ाइल का नाम देता हूं, 'functions.py'।

यदि वे किसी ऐप के लिए विशिष्ट नहीं हैं, तो आप केवल 'फ़ंक्शन' ऐप फ़ोल्डर बना सकते हैं और उन्हें वहां रख सकते हैं।

6

एक पुन: प्रयोज्य ऐप बनाएं जिसमें आपके सामान्य कार्य शामिल हों ताकि आप परियोजनाओं के बीच साझा कर सकें। उदाहरण के लिए

उपयोग एक Git रेपो इस एप्लिकेशन स्टोर और इसलिए आप मुझे नया अजगर फ़ाइल उपयोग कर रहा हूँ समुदाय :)

1

साथ साझा कर सकते हैं तैनाती और विकास (submodule)

उपयोग एक सार्वजनिक Git रेपो प्रबंधन करने के लिए ऐप फ़ोल्डर में service.py। फ़ाइल में विशिष्ट ऐप के लिए अधिकतर सहायक प्रश्न हैं। इसके अलावा मैं Django एप्लिकेशन के अंदर एक फ़ोल्डर बनाने के लिए उपयोग करता था जिसमें वैश्विक सहायक कार्यों और स्थिरांक शामिल होते हैं।

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