2009-05-21 19 views
17

मैं अजगर में कुछ काम कर रहा हूं, लेकिन यह सब अकेले स्टैंड अनुप्रयोगों के लिए था। मुझे यह जानकर उत्सुकता है कि क्या पाइथन का कोई ऑफशूट वेब विकास का समर्थन करता है?वेब अनुप्रयोग विकसित करने के लिए पायथन का उपयोग

क्या कोई भी एक अच्छा ट्यूटोरियल या वेबसाइट सुझा सकता है जहां से मैं पाइथन का उपयोग कर वेब विकास के कुछ मूलभूत बातें चुन सकता हूं?

+3

अगर मैं डीजेंगो या टर्बोगियर्स या जो कुछ भी शब्द सुनता हूं ... मैं कर रहा हूं ... कुछ पागल करो? –

+5

@Aiden ... तो मैं पाइथन वेब ऐप्स की किसी भी चर्चा के रूप में दूर रहने की अनुशंसा करता हूं, क्योंकि * वेब विकास के संदर्भ में प्रमुख ढांचे के बारे में बात नहीं करना "कुछ पागल" है। –

+6

@Aaron, टिप्पणी विनोद में थी। यदि आप चाहते हैं तो मेरे पास कुछ अतिरिक्त है। –

उत्तर

21

अब सभी ने Django कहा है, मैं अपने दो सेंट जोड़ सकता हूं: मैं तर्क दूंगा कि आप Django का उपयोग करने से पहले पहले विभिन्न घटकों को देखकर और जान सकते हैं। अजगर के साथ वेब विकास के लिए, आप अक्सर 3 घटकों हैं:

  1. कुछ ऐसा जो परवाह HTTP सामान का (उदा CherryPy)

  2. एक templating भाषा अपने वेब पेज बनाने के लिए। Mako बहुत पाइथोनिक और works चेरपी के साथ है।

  3. यदि आपको डेटाबेस से अपना डेटा मिलता है, तो एक ओआरएम काम में आता है। SQLAlchemy example होगा।

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

+1

+1 SQLAlchemy बहुत अच्छा है (हालांकि, django + आदि को पहले ही प्रेषक, ओआरएम, टेम्पलेट भाषा चुनने का लाभ है ताकि आपको यह नहीं करना पड़े)। –

+0

@Aaron: पूरी तरह से सहमत हैं। Django स्पष्ट के इस लाभ को बनाने के लिए संशोधित जवाब – stephan

0

पायथन का उपयोग वेब विकास के लिए किया जा सकता है, लेकिन भाषा में कोई विशेष भाषा विस्तार या कुछ भी नहीं है जो सभी HTML पीढ़ी को संभालेगा या जो PHP की तरह काम करेगा।

यह वेब सर्वर (सीजीआई, mod_python, आदि) पर किसी प्रकार के दुभाषिया के माध्यम से काफी अधिक चलाया जाता है।

मैं Python Web Application Frameworks या Python CGI scripts लिखने की सलाह दूंगा।

0

वहाँ quite a few पाइथन के लिए वेब ढांचे हैं, लेकिन केवल एक ही मैंने उपयोग किया है Django है, और मुझे यह वाकई पसंद है।

आप कुछ घंटे मिल गया है, तो tutorial करते हैं, मैं तुमसे वादा करता हूँ, आप इसे आनंद लेंगे :)

4

3 साल बाद संपादित: mod_python, उपयोग mod_wsgi प्रयोग न करें। फ्लास्क और वेर्कजेग भी अच्छे ढांचे हैं। यह जानने की आवश्यकता है कि क्या हो रहा है उपयोगी है, लेकिन यह एक आवश्यकता नहीं है। वह बेवकूफ होगा।

Django को तब तक न देखें जब तक कि आपको आपकी ओर से Django क्या कर रहा है, इसकी अच्छी समझ हो। तुम्हारे लिए। Mod_python और इसकी अनुरोध ऑब्जेक्ट का उपयोग करके कुछ मूल ऐप्स लिखें। मैंने mod_python का उपयोग करके वेब-डेवलपमेंट के लिए पाइथन सीखना शुरू किया और यह बहुत अच्छा रहा है।

mod_python साइट-पैकेज/mod_python/publisher.py में एक प्रेषक का भी उपयोग करता है। इस माध्यम से एक गैंडर्स लें कि यह देखने के लिए कि सरल-आसान तरीके से अनुरोध कैसे किए जा सकते हैं।

mod_python को चलाने और चलाने के लिए आपको अपनी अपाचे कॉन्फ़िगरेशन फ़ाइल में कुछ कॉन्फ़िगरेशन जोड़ने की आवश्यकता हो सकती है लेकिन mod_python साइट इसे अच्छी तरह से समझाती है।

<Directory /path/to/python/files> 
    AddHandler mod_python .py 
    PythonHandler mod_python.publisher 
    PythonDebug On 
</Directory> 

और आप दूर हैं! (एक मूर्खता से बुनियादी उदाहरण के रूप में)

उपयोग:

def foo(req): 
    req.write("Hello World") 

/path/to/python/files/bar.py में /path/to संभालने अपनी साइट जड़ है।

और फिर आप

http://www.mysite.com/python/files/bar/foo 

देखने के लिए "नमस्ते विश्व" कर सकते हैं।आप एक अच्छे के बाद

req.content_type = 'text/html' 

गुड लक

: इसके अलावा, कुछ है कि मुझे फिसल गया डिस्पैचर सामग्री प्रकार बाहर काम करने के एक लंगड़ा विधि का उपयोग करता है, तो एचटीएमएल उपयोग कराने के लिए है पाइथन mod_python और Apache के साथ कैसे इंटरैक्ट करता है, इसका विचार करें, फिर एक ढांचे का उपयोग करें जो आपके लिए सभी उबाऊ सामान करता है। आप पर निर्भर है, बस मेरी सिफारिश

+0

यदि आप सुझाव देते हैं कि लोग अपना खुद का रोल करें, तो आपको कम से कम सुझाव देना चाहिए कि वे WSGI का उपयोग करें और mod_python नहीं। डब्लूएसजीआई पायथन वेब ऐप्स लिखने के लिए मानक है और आपको एक विशिष्ट वेबसर्वर के एपीआई में लॉक नहीं करता है (जैसा कि वेबसर्वर सामान्य हो सकता है)। इसके अलावा, जैसा कि आप स्क्रैच से वेबपैप लिखने के कुछ दर्दों को खोजते हैं डब्लूएसजीआई अन्य डब्लूएसजीआई घटकों का पुन: उपयोग करने के लिए दरवाजा खोलता है। –

+3

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

0

जैसा कि अन्य ने उल्लेख किया है, उतना ही प्रमुख पायथन "ऑफशूट" जैसा कि आप उन्हें कॉल करते हैं Django होगा। यह एक शक्तिशाली फ्रेमवर्क है जो आपको वेब अनुप्रयोगों को तेज़ी से और सुरक्षित रूप से बनाने की अनुमति देता है। देखने के लिए पहली जगह their overview होगी जो कुछ अंतर्दृष्टि प्रदान करती है कि Django एक ढांचे के रूप में क्या करता है।

their tutorial के माध्यम से जाने से मुझे प्रमुख मॉडल-व्यू-कंट्रोलर डिज़ाइन पैटर्न और वेब-डेवलपमेंट संदर्भ में इसका उपयोग कैसे किया जा सकता है। मैंने इसे एक ऐसे एप्लिकेशन को लिखना शुरू करने का एक शानदार तरीका पाया जो इसे सुधारकर काम करता है और सीखता है।

3

यदि आप वास्तव में ढांचे में प्रवेश नहीं करना चाहते हैं - और आपको चाहिए, मैं दिल से डीजेगो या पिलोन की सिफारिश करता हूं - अभी भी सीजीआई की सड़क पर जाने की जरूरत है। यह एक पूरी तरह से पुरानी तकनीक है, धीमी और अक्षम का उल्लेख नहीं है।

पायथन वेब अनुप्रयोगों का निर्माण करने का एक मानक तरीका है, और इसे WSGI कहा जाता है। यदि आप अपने स्वयं के वेब ऐप को स्क्रैच से रोल करना चाहते हैं, तो यह बिल्कुल सही तरीका है।

उसने कहा, अगर आप अभी शुरू कर रहे हैं, तो आपको वास्तव में ढांचे में से एक के साथ जाना चाहिए।

1

वेब विकास के लिए कुछ विकल्प हैं। मेरे अनुभव से, आपकी पसंद फिर से आपके आवेदन पर निर्भर होगी।मैंने उत्पादन में django और web.py का उपयोग किया और मैं pylons पर आधारित एक ऐप को तैनात करने वाला हूं।

Django बहुत सारे विकल्प छुपाता है (इसके ओआरएम और टेम्पलेटिंग के साथ आता है)। दस्तावेज़ीकरण व्यापक और अच्छी तरह लिखा है। Django के लिए कई पुन: प्रयोज्य ऐप उपलब्ध हैं, लेकिन आप उन्हें सहजता से एकीकृत करने में थोड़ा सा समय निवेश करने की संभावना रखते हैं। एक बात mentioned on djangocon 08 तथ्य यह थी कि डीजेंगो में अच्छी चीजें हैं, जो आसानी से गैर-डीजेंगो परियोजनाओं में उपयोग नहीं की जा सकती हैं।

web.py ने मुझे अपनी कच्ची सादगी से प्रभावित किया। इससे पहले कि मैं इसे जानता था, मैंने इसमें एक छोटा ऐप (78 lines quasi-wiki) लिखा था।

pylons दोनों के बीच में लगता है। मैं sqlalchemy और jinja का उपयोग कर सकता हूं, सभी शुरुआत के लिए एक सुखद अनुभव में।

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

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