2008-09-16 18 views
69

मुझे पता है कि वहां पाइथन ढांचे का एक टन है। क्या आप मुझे सही दिशा में इंगित कर सकते हैं? मेरी प्राथमिक चिंता सादगी है, मुझे बहुत सारी सुविधाओं की आवश्यकता नहीं है। यहाँ है कि मैं चाहता हूँ चाहते हैं (या नहीं करना चाहते हैं) अन्य बातों के एक जोड़े हैं:एक अच्छा हल्का पायथन एमवीसी ढांचा क्या है?

  • ORM के लिए परवाह नहीं है, बस इसे MySQL के साथ काम करना चाहते हैं
  • विन्यास मार्गों है
  • लेआउट
+0

चेकआउट pyMVC https://github.com/hasankhan/pyMVC –

+11

क्या आप इसे प्यार नहीं करते हैं कि सभी सबसे दिलचस्प प्रश्न कैसे बंद हो जाते हैं –

उत्तर

4

Django के लिए समर्थन है!

Google ऐप इंजन इसका उपयोग करता है।

मैं इसे अपनी पालतू परियोजनाओं के लिए भी उपयोग करता हूं।

2

Django। अतिरिक्त सुविधाओं का उपयोग करने के लिए आपको नहीं है, और यह अच्छी तरह डिज़ाइन किया गया है ताकि आप आवश्यकतानुसार तृतीय-पक्ष पुस्तकालयों को मिश्रित कर सकें।

4

हाँ, मैं कहूंगा कि Django निश्चित रूप से जाने का तरीका है। इसका मॉड्यूलर डिज़ाइन यह सुनिश्चित करता है कि आप घटकों को मिलाकर मिलान कर सकते हैं (ओआरएम, टेम्पलेटिंग इंजन, यूआरएल प्रेषण, ...) एक घटक के साथ अटकने के बजाय फ्रेमवर्क आपको प्रदान करता है, आप इसे किसी तीसरे पक्ष के बराबर के साथ बदल सकते हैं।

+0

एक घटक बदलना * है * इसकी कीमत है। उदाहरण: ओआरएम या टेम्पलेटिंग को बदलना व्यवस्थापक इंटरफेस के साथ हस्तक्षेप करेगा। – pihentagy

+0

यह हस्तक्षेप नहीं करता है। व्यवस्थापक django का हिस्सा नहीं है, यह एक बाहरी ऐप है। यह परवाह नहीं करता कि आप किस ओआरएम का उपयोग करते हैं। आपको और व्यवस्थापक का उपयोग करने की आवश्यकता नहीं है। लेकिन आप व्यवस्थापक को चला सकते हैं (जो डीजेंगो ओआरएम का उपयोग करेगा) और एक ही समय में एक और ओआरएम चला सकता है। –

2

मैं पाइथन पर वास्तव में नया हूं लेकिन मैंने कुछ, विशेष रूप से Django और web2py को चुप करने की कोशिश की। मुझे web2py की सादगी पसंद है, मैं कुछ दिनों में मध्यम जटिलता की साइट बनाने में सक्षम था। इसमें एक डीएएल, कोड पीढ़ी, एचटीएमएल hlpers सुविधा के एक अपर्याप्त सेट है और मेरे लिए सबसे महत्वपूर्ण विशेषता साइट में दस्तावेज काफी पूरा था।

-1

Django मेरी सिफारिश है।

आप एक introduction to it here (याकूब कापलान-मॉस द्वारा एक गूगल टेक टॉक) पा सकते हैं:

और तुम भी Adrian Holovaty's talk given at Snakes and Rubies पर एक नजर है करना चाहते हैं, डेपॉल विश्वविद्यालय:

+14

मैं txt बोलने के कारण downvoted। –

9

Pylons.

यह django से काफी बेहतर है, और एक क्रैपी ओआरएम के साथ नहीं आता है।

+1

बस नॉटिंह कि सिर्फ इसलिए कि Django एक (माना जाता है) क्रैपी OR/M के साथ आता है, इसका मतलब यह नहीं है कि आपको Django की मॉड्यूलर प्रकृति के लिए धन्यवाद या/एम का उपयोग करना है। –

+11

अहहा, खुद को यह कहें। सामान्य उपयोग में डीजेंगो सबसे मोनोलिथिक पायथन वेब ढांचा है। – habnabit

+0

पूरे "पिलोन है, लेकिन नहीं है, पिरामिड" बहुत भ्रमित है। और ऐसा लगता है कि "पिरामिड" एमवीसी अपने शब्दों में "आरवी" ("संसाधन दृश्य") नहीं है। देखें "आप कहते हैं कि पिरामिड एमवीसी है, लेकिन नियंत्रक कहां है?" पिरामिड डॉक्स में। – CmdrTallen

11

web.py एक प्रयास दें। यह बहुत आसान है और आप जो न्यूनतमता ढूंढ रहे हैं उसे प्रदान कर सकते हैं।

6

यदि आप अपना खुद का framework बनाने के बिना कुछ आसान चाहते हैं, जबकि अभी भी सभी समावेशी (django) नहीं है, तो आप CherryPy को आजमा सकते हैं। यह लगभग dispatcher (पेज हैंडलर/यूआरएल रूटिंग सिस्टम) का उपयोग कर सकता है। आपको अपना खुद का टेम्पलेट इंजन भी चुनना होगा, Genshi मेरा पसंदीदा है।

2

मैं Pylons पर एक नज़र डालेगा; यह हल्का और तेज़ है।

2

मैं Django नाव पर भी हूं। यहां कुछ कारण दिए गए हैं:

  • मैन्युअल प्रश्नों से बचने में आप Django के admin interface के साथ समय बचा सकते हैं।
  • Django के templating system शानदार
  • Django एक अद्भुत community, बहुत मदद करने के लिए (freenode पर #django देख)
8

लोग पहले से ही वेब एप्लीकेशन फ्रेमवर्क के विषय में बहुत-से उत्तर दिया, उत्सुक लेकिन MVC (या किसी अन्य प्रतिमान है) केवल वेब से बंधे नहीं है। यह सिर्फ स्पष्टता के लिए है।

यदि आप सादे एमवीसी के बारे में हैं, तो पिलोन एक कठोर तरीके से प्रतिमान के अनुरूप हैं। Django एमवीसी व्याख्या करता है और वे इसे मॉडल-टेम्पलेट-दृश्य कहते हैं, लेकिन भूमिका अलगाव का विचार समान है। वास्तविक पसंद व्यक्तिगत स्वाद का विषय है, हालांकि इनमें से कोई भी मुझे लाइटविग पर विचार नहीं करता है (पिलोन लाइटर प्रतीत हो सकता है, लेकिन वास्तव में नहीं है, और हाल ही में डैंजो ने कुछ अतिरिक्त वजन इकट्ठा किया - संभवतः आप छोटे एप्लिकेशन को भी फिट नहीं करेंगे 20 एमबी निवासी स्मृति में व्यक्तिगत ब्लॉग की तरह)।

बेशक, कुछ भी आपको अपना खुद का ढांचा लिखने से रोक नहीं देगा, उदाहरण के लिए। WebOb के साथ। आप इसे लाइट के रूप में बना सकते हैं (और कई चीजों को सीखना सीख सकते हैं)।

32

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

यहां एक उदाहरण दिया गया है: यूआरएल प्रेषण के लिए आप Routes का उपयोग कर सकते हैं, जो रेल की यूआरएल प्रेषण शैली पर कौन से बंदरगाहों का उपयोग कर सकते हैं। या WebOb के साथ आप उस शैली को और अधिक उपयुक्त बना सकते हैं।

"लेआउट" के लिए, आप शक्तिशाली Jinja2 का उपयोग कर सकते हैं यदि आप टेम्पलेट चाहते हैं जो कोड नहीं चला सकते हैं। या, Mako यदि आप अपने टेम्पलेट्स के साथ एक छोटा कोड मिश्रण करने में सक्षम होना पसंद करते हैं। आप कई ऐप्स और यहां तक ​​कि कई भाषाओं से बनी पृष्ठों के लेआउट को नियंत्रित करने के लिए Deliverance का भी उपयोग कर सकते हैं!

एक पूर्ण-स्टैक वेब ढांचा अच्छा है जिसमें यह आपके लिए विकल्पों का एक समूह बनाता है, जिससे आप केवल अपनी इमारत के ऐप पर ध्यान दे सकते हैं। लेकिन, ऊपर सूचीबद्ध विकल्पों को आप स्वयं बनाने के लिए एक अच्छा संग्रह हैं। यदि आप उस पथ को दबाते हैं, तो आपको कैशिंग और सत्रों के लिए Beaker प्लग करना आसान होगा, यदि आपको उनकी आवश्यकता हो, या WebError डिबगिंग में आपकी सहायता के लिए।

व्यक्तिगत रूप से, मैं ओआरएम (विशेष रूप से SQLAlchemy) का एक बड़ा प्रशंसक हूं, लेकिन यदि आप ओआरएम मुक्त और हल्के समग्र रूप से जाना चाहते हैं तो आप पाइथन में उपलब्ध महान डब्लूएसजीआई घटकों को संयोजित नहीं कर सकते हैं।

3

web2py! django एक नियंत्रक को एक दृश्य कहते हैं, 'nuf कहा।

+4

लेकिन उनका दृश्य मूल रूप से एक एमवीसी नियंत्रक के समान ही है। यदि पैटर्न अभी भी एमवीसी है और आप डिज़ाइन को समझते हैं, तो क्या नामकरण वास्तव में मायने रखता है?मुझे लगता है कि आप इसे डीजेगो नामकरण (मॉडल-टेम्पलेट-व्यू) का पालन करने के लिए एमटीवी कह सकते हैं, लेकिन फिर शायद कानून सूट होंगे। –

+3

वेब 2py के बारे में क्या यह एक अच्छा ढांचा बनाता है? कृपया समझाएं, उदाहरण दें, और/या संदर्भ जोड़ें। – agf

44

web2py स्रोत कोड के 265 किलोबाइट और 1.2 एमबी सभी समावेशी (4.6 एमबी के Django के साथ तुलना करें)। फिर भी web2py आपको जो कुछ भी चाहिए (सत्र, कुकीज़, अनुरोध, प्रतिक्रिया, कैश, अंतर्राष्ट्रीयकरण, त्रुटियों/टिकटों, जीएई, एसक्यूएलआईटी, एमएसएसक्यूएल, माईएसक्यूएल, पोस्टग्रेस, ओरेकल, फायरबर्ड, आदि के लिए डेटाबेस अबास्ट्रक्शन का प्रबंधन करेगा) इसे इंस्टॉलेशन की आवश्यकता नहीं है - बस अनजिप करें और उस पर क्लिक करें - और आप अपने ब्राउज़र में विकास कर सकते हैं।

वेब 2py दोनों मार्ग और रिवर्स मार्ग हैं।

वेब 2py में एक पदानुक्रमित टेम्पलेट सिस्टम है जिसका अर्थ है कि एक दृश्य एक लेआउट का विस्तार कर सकता है जो एक और लेआउट बढ़ा सकता है, आदि विचारों में अन्य विचार भी शामिल हो सकते हैं।

+10

क्या यह कुछ पहलुओं में Django से बेहतर है, या यह एकमात्र लाभ है कि यह छोटा है? – ripper234

+0

मुझे इंस्टॉलेशन की आवश्यकता नहीं है - बस अनजिप करें और उस पर क्लिक करें - और आप अपने ब्राउज़र में विकास कर सकते हैं – goFrendiAsgard

6

जब डेस्कटॉप अनुप्रयोगों की बात आती है Dabo एक अच्छी पसंद है। यह WxPython के शीर्ष पर एक क्रॉस प्लेटफार्म ढांचा है जो MySQL, Postgresql, Firebird और Sqlite का समर्थन करता है।

3

यदि आप सादगी का उपयोग web2py या pylons का उपयोग करना चाहते हैं। Django अच्छा है ... लेकिन सीखने की अवस्था खड़ी है

5

आप web2py चाहते हैं। यह जाँच करें:

  • ORM के लिए परवाह नहीं है, बस इसे MySQL
  • साथ काम करना चाहते

web2py एक ORM नहीं है, लेकिन यह एसक्यूएल पर एक वाक्यात्मक आवरण यह बहुत करता है कि है एसक्यूएल करना आसान है।

  • web2py इन दोनों है विन्यास मार्गों है
  • लेआउट

के लिए समर्थन हासिल है ...।

और वेब 2py django/रेल/जो भी बहुत अधिक मायने रखता है उससे अधिक हल्का है। सीखना बहुत आसान है। एक एमवीसी ढांचे को सीखने के बारे में सबसे कठिन चीजें स्क्रिप्ट, ओआरएम, और (django के साथ) टेम्पलेट भाषा हैं। लेकिन web2py स्क्रिप्ट से छुटकारा पा लिया, ओआरएम को सरलीकृत किया, और टेम्पलेट भाषा एक रेड चालाक तरीके से सिर्फ अजगर है।

-3

हालांकि सभी पाइथन ढांचे स्पष्ट रूप से एमवीसी का समर्थन नहीं करते हैं, लेकिन यह अक्सर ऐसी वेबसाइट बनाने के लिए तुच्छ है जो डेटा तर्क (मॉडल) को उपयोगकर्ता इंटरैक्शन तर्क (नियंत्रक) और टेम्पलेट्स से अलग करके एमवीसी पैटर्न का उपयोग करता है (राय)।

http://docs.python.org/howto/webservers.html#model-view-controller

+0

समय की कमर। लिंक जो कुछ भी नहीं कहता है। –

+0

हटाया जाना चाहिए। सवाल का जवाब देने के लिए * प्रयास * भी नहीं करता है। (प्रश्न "बंद" है, निश्चित रूप से;) –

6

चेकआउट https://github.com/salimane/bottle-mvc या https://github.com/salimane/flask-mvc। वे बॉयलरप्लेट हैं जो आपको अलग-अलग फ़ोल्डरों में नियंत्रकों, मॉडलों के साथ शुरू कर सकते हैं। वे बोतल और फ्लास्क माइक्रो फ्रेमवर्क पर आधारित हैं, कोई बेकार विशेषताएं नहीं हैं, वे आपको जो भी मॉड्यूल चाहते हैं उसे प्लगइन करने के लिए लचीलापन देते हैं।

+0

मैं फ्लास्क और व्युत्पन्नों को देखने की अत्यधिक अनुशंसा करता हूं। – ngeek

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