2012-08-01 5 views
14

मैं Backbone.js या Ember.jsरीढ़ की हड्डी/एम्बर का उपयोग कर django एक साधारण REST एपीआई बनाता है?

जैसे नए जे एस चौखटे का उपयोग कर मैं इस बयान के ऊपर आ गए हैं के बारे में लेख के एक जोड़े को पढ़ लिया है: अगर मैं Backbone.js/Ember.js की तरह एक जे एस ढांचे का उपयोग, मैं फिर तर्क को बैक एंड (Django) से आगे के अंत में ले जाता हूं।

इसलिए, क्या Django वास्तव में केवल अपने मॉडल के लिए उपयोग किया जाएगा? क्या इसका मतलब यह है कि Django Views और Django टेम्पलेट की अब और आवश्यकता नहीं है और Django बैक-एंड एक "मूल" आरईएसटी एपीआई में बदल जाता है जिसे सामने के अंत तक उपभोग किया जाएगा।

क्या आप सहमत हैं? क्या यह इस मामले में डीजेगो का उद्देश्य है?

सामने वाले अंत के लिए बैकबोन.जेएस/एम्बर.जेएस जैसे ढांचे का उपयोग करते समय डीजेंगो बैकएंड को एक आरईएसटी एपीआई में सबसे उपयुक्त उपयोग मामले में बदल रहा है?

धन्यवाद।

उत्तर

13

Django इस तरह से उपयोग करने के लिए बिल्कुल ठीक है, आप अभी भी व्यवस्थापक, मॉडल, ओआरएम और सभी तीसरे पक्ष के प्लगइन प्राप्त करते हैं। हालांकि, यह तेजी से तेज नहीं है, इसलिए यदि आप सरल दस्तावेज़ स्तर, गैर-रिलेशनल रीस्ट मैपिंग कर रहे हैं, तो आप उदाहरण के लिए node.js और mongoDB में नहीं देख सकते हैं।

आप Django के साथ चिपके हुए हैं, तो आप बाकी प्लगइन्स से एक का उपयोग कर सकते हैं (जैसे हम हैं, हम संरचना यह हमें देता है की तरह):,

  • Django Rest Framework डीआरएफ 2.0 के बाद से एक परिपूर्ण मैच बहुत नीचे सक्रिय विकास!
  • Django Tastypie (एकीकरण के लिए चेकआउट backbone-tastypie.js)
  • Django Piston (थोड़ा बासी हो सकता है या विकास हाल ही में उठाया गया है?)

आप केवल दृश्यपटल विकास के साथ काम करना चाहते हैं, चेकआउट बैकएंड-जैसे- ए-सर्विस स्थानों जैसे cloudmine.me या firebase.com जो आपके लिए बैकएंड सामान को निश्चित रूप से संभालते हैं।

+0

ठीक है मैंने पहले दो की कोशिश की है। हालांकि रीढ़ की हड्डी के साथ एकीकरण सीधे दिखता नहीं है। ऐसा लगता है कि मुझे रीढ़ की हड्डी पर कुछ चीजों को ओवरराइड करना है ... क्या कम से कम कॉन्फ़िगरेशन के साथ एक सरल तरीके से रीढ़ की हड्डी के साथ एक या दूसरे काम को तुरंत बनाने के कुछ आसान तरीके हैं? धन्यवाद। – Michael

+0

हमारे पास ओवरराइड सिंक और अधिक के साथ एक बहुत भारी अनुकूलित डीआरएफ और बैकबोन सेटअप है। हम डीआरएफ का उपयोग आउट ऑफ़ द बॉक्स संगतता के कारण नहीं करते हैं, बल्कि अधिक क्योंकि अनुकूलन की आसानी। मैं कुछ और जानकारी के साथ अपना उत्तर अपडेट करूंगा –

+0

ठीक है मुझे लगता है कि मुझे बैकबोन सिंक इत्यादि के अनुकूलन के माध्यम से जाना होगा। – Michael

0

हां, यह इसके बारे में है। आप संसाधनों के प्रमाणीकरण को प्रबंधित करने के लिए इसका उपयोग कर सकते हैं और ऐसे में और शायद आपके आवेदन के लिए मुख्य दृश्य का उपयोग कर सकते हैं, लेकिन आपको सर्वर साइड टेम्पलेटिंग का उपयोग करने की आवश्यकता नहीं होगी क्योंकि इन ढांचे को जेसन/एक्सएमएल प्रतिक्रिया के साथ काम करने के लिए बनाया गया है।

यही कारण है कि बहुत से लोग django जैसे पूर्ण समाधान के बजाय लाइटर बैकएंड/रीढ़ की हड्डी या एम्बर कॉम्बो में जा रहे हैं। आप जेसन प्रतिक्रिया को कैशिंग करने के लिए अपने django का भी उपयोग कर सकते हैं जो आपके एप्लिकेशन को तेज़ी से प्रकट करता है।

+0

क्या आपके पास लाइटर बैकएंड का कोई उदाहरण है जो इस मामले में डीजेगो को प्रतिस्थापित कर सकता है? – Michael

1

एकल पृष्ठ समाधान और जावास्क्रिप्ट अनुप्रयोगों के बारे में सोचने के बाद Django अनावश्यक लग सकता है, लेकिन यदि आप चाहते हैं कि आपकी साइट 'असफल साबित' हो, तो साइट के क्लाइंट साइड जावास्क्रिप्ट संस्करण दोनों को विकसित करना असंभव नहीं होगा अच्छी तरह से बैकएंड django पक्ष उपयोगकर्ता, या आपकी साइट की जावास्क्रिप्ट को परेशान करता है, कुछ स्तर पर विफल रहता है। बेशक इसके लिए आपकी साइट को दो बार बनाने की आवश्यकता है, और शायद आधुनिक ब्राउज़रों की उम्र में इसकी आवश्यकता नहीं है, लेकिन ऐसे कुछ उदाहरणों में से एक होगा जहां आप दोनों को एक पूर्ण समाधान के लिए मिश्रण करेंगे।

0

हम ऐसा कर रहे हैं और आप को आसान बनाने के लिए django-piston का उपयोग करें।

0

आम तौर पर आप अपनी संपूर्ण वेबसाइट Django के तहत बनाते हैं और केवल एक पृष्ठ रीढ़ की हड्डी का उपयोग करके "एकल ऐप पेज" होगा।जेएस, आमतौर पर वह पृष्ठ एक बहुत ही संवादात्मक पृष्ठ होता है, जिसमें अक्सर बहुत से छोटे अपडेट होते हैं और उपयोगकर्ता को बहुत तेज़ दिखाया जाना चाहिए। यह पृष्ठ, क्लाइंट-साइड पर बड़ी संख्या में परिवर्तन और उपयोगकर्ता इंटरैक्शन का निर्माण किया गया है ताकि आप अपने पीसी संसाधनों का उपयोग कर रहे हों, न कि सर्वर के, बाकी के पेज django का उपयोग कर सकते हैं क्योंकि यह आपको एक बहुत ही स्थिर और सुरक्षित प्रदान करता है सर्वर-साइड के लिए ढांचा

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