Web2py - परिचय

web2pyचुस्त विकास के लिए एक मुक्त, मुक्त-स्रोत वेब फ्रेमवर्क के रूप में परिभाषित किया गया है जिसमें डेटाबेस-संचालित वेब अनुप्रयोग शामिल हैं; यह पायथन में लिखा गया है और पायथन में प्रोग्रामेबल है। यह एक पूर्ण-स्टैक फ्रेमवर्क है; इसमें सभी आवश्यक घटक होते हैं, एक डेवलपर को पूरी तरह कार्यात्मक वेब एप्लिकेशन बनाने की आवश्यकता होती है।

web2py ढांचा इस प्रकार है Model-View-Controller पारंपरिक पैटर्न के विपरीत वेब एप्लिकेशन चलाने का पैटर्न।

  • Modelअनुप्रयोग का एक हिस्सा है जिसमें डेटा के लिए तर्क शामिल हैं। मॉडल में वस्तुओं को डेटाबेस से डेटा को पुनर्प्राप्त करने और संग्रहीत करने के लिए उपयोग किया जाता है।

  • Viewएप्लिकेशन का एक हिस्सा है, जो उपयोगकर्ताओं को समाप्त करने के लिए डेटा के प्रदर्शन को प्रदान करने में मदद करता है। डेटा का प्रदर्शन मॉडल से लिया गया है।

  • Controllerएप्लिकेशन का एक हिस्सा है, जो उपयोगकर्ता इंटरैक्शन को संभालता है। नियंत्रक एक दृश्य से डेटा पढ़ सकते हैं, उपयोगकर्ता इनपुट को नियंत्रित कर सकते हैं, और विशिष्ट मॉडल को इनपुट डेटा भेज सकते हैं।

  • web2pyकुकीज़ और सत्र का प्रबंधन करने के लिए एक अंतर्निहित सुविधा है। लेनदेन (एसक्यूएल के संदर्भ में) करने के बाद, सत्र भी एक साथ संग्रहीत किया जाता है।

  • web2pyकुछ कार्यों के पूरा होने के बाद निर्धारित अंतराल में कार्यों को चलाने की क्षमता है। इससे हासिल किया जा सकता हैCRON

web2py - वर्कफ़्लो

नीचे दिए गए वर्कफ़्लो आरेख पर एक नज़र डालें।

वर्कफ़्लो आरेख नीचे वर्णित है।

  • Models, Views तथा Controller घटक उपयोगकर्ता web2py अनुप्रयोग बनाते हैं।

  • कई अनुप्रयोगों को web2py के एक ही उदाहरण में होस्ट किया जा सकता है।

  • ब्राउज़र सर्वर पर HTTP अनुरोध भेजता है और सर्वर के साथ इंटरैक्ट करता है Model, Controller तथा View आवश्यक उत्पादन लाने के लिए।

  • तीर डेटाबेस इंजन के साथ संचार का प्रतिनिधित्व करते हैं। डेटाबेस क्वेरी कच्चे SQL में या web2py डेटाबेस अमूर्त परत (जो आगे अध्यायों में चर्चा की जाएगी) का उपयोग करके लिखा जा सकता है, ताकिweb2py आवेदन कोड किसी भी डेटाबेस इंजन से स्वतंत्र है।

  • Model डेटाबेस के साथ डेटाबेस कनेक्शन स्थापित करता है और डेटाबेस के साथ इंटरैक्ट करता है ControllerController दूसरी ओर के साथ बातचीत View डेटा के प्रदर्शन को प्रस्तुत करने के लिए।

  • Dispatcherनियंत्रक में एक फ़ंक्शन कॉल के लिए HTTP के जवाब के रूप में अनुरोधित URL को मैप करता है। फ़ंक्शन का आउटपुट एक स्ट्रिंग या एक हैश तालिका हो सकती है।

  • डेटा द्वारा प्रदान किया गया है View। यदि उपयोगकर्ता HTML पृष्ठ (डिफ़ॉल्ट) का अनुरोध करता है, तो डेटा एक HTML पृष्ठ में प्रदान किया जाता है। यदि उपयोगकर्ता XML में एक ही पृष्ठ का अनुरोध करता है, तो web2py एक ऐसा दृश्य खोजने की कोशिश करता है जो XML में शब्दकोश को प्रस्तुत कर सके।

  • Web2py के समर्थित प्रोटोकॉल में HTML, XML, JSON, RSS, CSV और RTF शामिल हैं।

मॉडल-व्यू-नियंत्रक

model-view-controller web2py का प्रतिनिधित्व इस प्रकार है -

नमूना

"db.py" is the model:
db = DAL('sqlite://storage.sqlite')
db.define_table(employee, Field('name'), Field(‘phone’))

Modelएप्लिकेशन डेटा का तर्क शामिल है। यह डेटाबेस से जोड़ता है जैसा कि ऊपर दिए गए आंकड़े में बताया गया है। विचार करें कि SQLite का उपयोग किया जा रहा है और इसमें संग्रहीत किया गया हैstorage.sqliteकर्मचारी के रूप में परिभाषित तालिका के साथ फ़ाइल। यदि तालिका मौजूद नहीं है, तो संबंधित तालिका बनाकर web2py मदद करता है।

नियंत्रक

कार्यक्रम "default.py" है Controller

def employees():
   grid = SQLFORM.grid(db.contact, user_signature = False)
   return locals()

में web2py, यूआरएल मैपिंग कार्यों और मॉड्यूल तक पहुंचने में मदद करता है। उपरोक्त उदाहरण के लिए, नियंत्रक में एक एकल फ़ंक्शन (या "एक्शन") होता है जिसे कर्मचारी कहा जाता है।

द्वारा की गई कार्रवाई Controller एक स्ट्रिंग या पायथन डिक्शनरी देता है, जो कि चर के एक स्थानीय सेट सहित कुंजी और मूल्य का संयोजन है।

राय

"default/contacts.html" है View

{{extend 'layout.html'}}
<h1>Manage My Employees</h1>
{{=grid}}

दिए गए उदाहरण के लिए, View संबंधित नियंत्रक फ़ंक्शन के निष्पादित होने के बाद आउटपुट प्रदर्शित करता है।

इसका उद्देश्य Viewशब्दकोश में चर को प्रस्तुत करना है, जो HTML के रूप में है। View फ़ाइल HTML में लिखी गई है, लेकिन यह पायथन कोड की मदद से एम्बेड करता है {{ and }} सीमांकक।

HTML में एम्बेड किए गए कोड में शब्दकोश में पायथन कोड होता है।

Web2py से शुरू करें

web2py विंडोज, यूनिक्स और मैक ओएस एक्स जैसे सभी प्रमुख ऑपरेटिंग सिस्टम के लिए बाइनरी पैकेज में आता है।

Web2py स्थापित करना आसान है क्योंकि -

  • इसमें पायथन दुभाषिया शामिल है, इसलिए आपको इसे पहले से स्थापित करने की आवश्यकता नहीं है। एक सोर्स कोड संस्करण भी है जो सभी ऑपरेटिंग सिस्टम पर चलता है।

  • निम्नलिखित लिंक में बाइनरी पैकेज शामिल हैं web2pyउपयोगकर्ता की आवश्यकता के अनुसार डाउनलोड करने के लिए - www.web2py.com

  • web2pyफ्रेमवर्क को अन्य रूपरेखाओं के विपरीत पूर्व-स्थापना की आवश्यकता नहीं है। उपयोगकर्ता को ऑपरेटिंग सिस्टम की आवश्यकता के अनुसार जिप फाइल और अनजिप को डाउनलोड करना होगा।

  • web2py पाइथन में रूपरेखा लिखी गई है, जो एक पूर्ण गतिशील भाषा है जिसे चलाने के लिए किसी संकलन या जटिल स्थापना की आवश्यकता नहीं है।

  • यह जावा या .net जैसी अन्य प्रोग्रामिंग भाषाओं की तरह एक वर्चुअल मशीन का उपयोग करता है और यह डेवलपर्स द्वारा लिखे गए स्रोत कोड को पारदर्शी रूप से बाइट-संकलित कर सकता है।

ऑपरेटिंग सिस्टम आदेश
यूनिक्स और लिनक्स (स्रोत वितरण) python web2py.py
ओएस एक्स (बाइनरी वितरण) web2py.app खोलें
विंडोज (द्विआधारी web2py वितरण) web2py.exe
विंडोज (स्रोत web2py वितरण) c: /Python27/python.exe web2py.py