प्रौद्योगिकी साझेदारी

[Flask Notes] एकः सम्पूर्णः Flask कार्यक्रमः

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

यथा पूर्वं उक्तं, Flask एकः लघुः जालविकासरूपरेखा अस्ति यतः एतत् केवलं कतिपयैः कोडैः चालयितुं शक्यते ।

Flask संस्थापयन्तु

Flask framework इत्यस्य दर्शनात् पूर्वं प्रथमं flask module इत्यस्य संस्थापनं करणीयम् यः कोऽपि python इत्यस्य अध्ययनं कृतवान् सः अवश्यमेव ज्ञातव्यः यत् flask module इत्यस्य संस्थापनं वस्तुतः अतीव सरलम् अस्ति

pip install flask
  • 1

भवान् तत् संस्थापयितुं शक्नोति यत् यदि भवान् कञ्चन मॉड्यूल् संस्थापनं कुर्वन् डाउनलोड् विफलतां प्राप्नोति तर्हि अधिकतया यतः पायथन् पूर्वनिर्धारितरूपेण आधिकारिकं डाउनलोड् मॉड्यूल् पतां उपयुङ्क्ते, तथा च एतत् पतनं कदाचित् Here It इत्यत्र अभिगमनसमये अस्थिरं भवति डाउनलोड् कर्तुं Tsinghua इत्यस्य डाउनलोड् स्रोतस्य उपयोगः अनुशंसितः अस्ति, यत् बहु द्रुततरं भवितुम् अर्हति, त्रुटिः वा समयसमाप्तिः वा न जनयिष्यति ।

https://pypi.tuna.tsinghua.edu.cn/simple
  • 1

प्रयोगविधिः अपि अतीव सरलः अस्ति प्रथमः क-iपैरामीटर्स्, तदनन्तरं URL, मॉड्यूल् अस्मात् पतातः अवतरणं भविष्यति, यथा

pip install flask -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 1

उपर्युक्तविधिः केवलं अस्थायी डाउनलोड् कृते उपयोक्तुं शक्यते तथा च डाउनलोड् स्रोतः स्थायिरूपेण परिवर्तयितुं न शक्यते अत्र पूर्वनिर्धारित डाउनलोड् स्रोतः परिवर्तयितुं अन्यः विधिः अस्ति ।

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
  • 1

परिवर्तनस्य अनन्तरं भवन्तः उत्तीर्णं कर्तुं शक्नुवन्तिpip config listपरिवर्तनं सफलं वा इति पश्यन्तु यदि परिवर्तनं सफलं भवति तर्हि निम्नलिखितरूपेण प्रदर्शितं भविष्यति

(.venv) ❯❯ pip config list
global.index-url='https://pypi.tuna.tsinghua.edu.cn/simple'
  • 1
  • 2

एकः न्यूनतमः सम्पूर्णः च Flask कार्यक्रमः

Flask सफलतया संस्थापनानन्तरं वयं उदाहरणं पश्यामः तथा च flask चालयितुं आवश्यकं लघु यूनिट् अस्ति

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return "Hello, World!"

if __name__ == '__main__':
    app.run(debug=True)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

यथा उपरिष्टात् कोड् मध्ये दर्शितं, केवलं १० पङ्क्तयः कोड् फ्लास्क् चालयितुं शक्नुवन्ति, अतः फ्लास्क् लघुः जालरूपरेखा अस्ति ।यद्यपि उपर्युक्तः कोडः लघुः अस्ति तथापि सः व्यापकः अस्ति तथा च Flask चालयितुं आवश्यकं सर्वं समाविष्टं भवति अनुप्रयोगदृष्टान्तः, मार्गनिर्धारणं, दृश्यकार्यं च सरलतमं Flask कार्यक्रमं निर्मान्ति ।

अनुप्रयोगाः

अनुप्रयोगदृष्टान्तः वस्तुतः Flask इत्यस्य अनुप्रयोगवस्तु अस्ति अत्र उल्लिखितः वस्तु भवतः प्रेमिका नास्ति, अपितु एकः Web अनुप्रयोगकोरः अस्ति यस्मिन् अनुरोधसंसाधनं, मार्गवितरणं, दृश्यकार्यं आह्वानं च, अर्थात् तत् वाक्यं च समाविष्टं भवितुम् अर्हतिapp = Flask(__name__), यदि वयं Flask उदाहरणस्य स्रोतसङ्केतं पश्यामः तर्हि वयं ज्ञातुं शक्नुमः यत् अस्मिन् बहुधा सामग्री अस्ति, यथा रनिंग् स्टार्टअप पैरामीटर्स्, रूटिंग् नियमाः, अनुरोधाः कथं प्रेषयितुं प्राप्तव्याः च इति परिभाषा इत्यादयः, येषां चर्चा न भविष्यति विस्तरेण अत्र ।

मार्गनिर्धारणम्

URLs तथा functions इत्येतयोः पत्राचारस्य निबन्धनार्थं Routing इत्यस्य उपयोगः भवति ।अत्र अस्माभिः अवगमनस्य सुविधायै जालस्य सम्पूर्णस्य कार्यसिद्धान्तस्य विषये वक्तव्यं भवति प्रथमं अधोलिखितं चित्रं पश्यन्तु
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
जालपुटं अनुरोधं आरभते, जालसर्वरः अनुरोधं प्राप्य Flask अनुप्रयोगं प्रति अनुरोधं प्रेषयति ततः परं तत्सम्बद्धं प्रक्रियाकार्यं अन्वेषयति
उपर्युक्तस्य अनुरूपः कार्यक्रमः तत् कार्यम् अस्ति

@app.route('/')
def index():
    return "Hello, World!"
  • 1
  • 2
  • 3

यदि भवान् Python इत्येतत् तुल्यकालिकरूपेण गभीरं शिक्षते तर्हि उपरिष्टात् कोडं ज्ञातुं शक्नोति@app.route('/')दृश्यकार्यस्य पञ्जीकरणार्थं प्रयुक्तः अलङ्कारकः अस्ति, कोष्ठकेषु विद्यमाना सामग्री च उपयोक्तव्यः मार्गः अस्ति ।'/'मूलमार्ग इत्यर्थःhttp://127.0.0.1:5000;यदि परिवर्तते‘/login/’प्रवेशमार्गस्य उपयोगः इति अर्थःhttp://127.0.0.1:5000/login/;'/user/<name>'गतिशीलचरमार्गनिर्धारणं भवति अर्थात्<name>प्रसारितसामग्रीनुसारं गतिशीलरूपेण परिवर्तते, यथाhttp://127.0.0.1:5000/user/jay, अयं जयः ब्राउजर् द्वारा मार्गे संलग्नः भवितुम् आवश्यकः अस्ति ।
एतत् Flask इत्यत्र सरलीकृतं भवति यत् वस्तुतः मार्गपरिभाषायाः पारम्परिकः मार्गः अलङ्कारस्य उपयोगं न करोति यतः पारम्परिकः मार्गः सामान्यतया न प्रयुक्तः अस्ति, अतः अहम् अत्र विस्तरेण न गमिष्यामि ।
अत्र मार्गनिर्धारणविषये अन्यः अपि बिन्दुः अस्ति यस्य उल्लेखः अवश्यं करणीयः, अर्थात् Flask इत्यस्य गतिशीलचरमार्गनिर्धारणं केवलं string, int, float, path types इत्येतयोः समर्थनं करोति, यथा उपरिष्टाद्<name> स्ट्रिंग् प्रकारः उपयुज्यते ।अन्येषां प्रकाराणां कृते यदि भवन्तः तान् परिचययितुम् इच्छन्ति तर्हि प्रकारं लिखितव्यम्, यथा'/path/<path:my_path>'

view function

View function इति फंक्शन् अस्ति यत् inbound requests इत्यस्य संचालनं करोति, यत् routing इत्यत्र परिभाषितं function अस्ति ।

def index():
    return "Hello, World!"
  • 1
  • 2

उपर्युक्तं कार्यं तथाकथितं दृश्यकार्यम् । आगच्छन्तानाम् अनुरोधानाम्, प्रत्यागमनप्रतिसादानां च संसाधनाय अस्य उपयोगः भवति ।

प्रतिक्रिया

प्रत्यागमनप्रतिसादः उपरि उक्तः, परन्तु प्रतिक्रिया का ? प्रतिक्रिया दृश्यकार्य्ये प्रत्यागतं मूल्यं भवति, यत् स्ट्रिंग् अथवा जटिलरूपं भवितुम् अर्हति मार्गस्य पुनर्निर्देशनार्थं redirect() function ।

start up इति

Flask कार्यक्रमस्य पञ्च आन्तरिकभागाः उपरि सारांशतः दर्शिताः सन्ति, परन्तु Flask इत्यस्य चालनार्थं अद्यापि एकः न्यूनः प्रवेशबिन्दुः अस्ति, यः अस्य कोडस्य अन्तिमपङ्क्तिद्वयम् अस्ति

if __name__ == '__main__':
    app.run(debug=True)
  • 1
  • 2

प्रथमा पङ्क्तिःif __name__ == '__main__':, यः कोऽपि python इत्यस्य अध्ययनं कृतवान् सः जानाति यत् एषा python इत्यस्य प्रवेशविधिः अस्ति, अर्थात् वर्तमानसञ्चिका अथवा मॉड्यूल् प्रत्यक्षतया मुख्यप्रोग्रामरूपेण चाल्यते ।
द्वितीया पङ्क्तिःapp.run(debug=True)उपरि निर्मितं Flask ऑब्जेक्ट् आह्वयितुं run() फंक्शन् निष्पादयितुं च Flask चालयितुं, तथा च debug इत्येतत् run() फंक्शन् प्रति पैरामीटर् रूपेण पारितं भवति यत् Flask इत्यस्मै ज्ञायते यत् इदं debugging mode इत्यत्र आरब्धम् अस्ति, Flask स्वयमेव पुनः लोडरं त्रुटिनिवारणं च लोड् करिष्यति ।
ततः वयं आदेशपङ्क्तौ गत्वा my_flask.py सञ्चिकायाः ​​निर्देशिकां प्रविश्य, आदेशपङ्क्तौ प्रविशामःpython my_flask.pyभवान् कार्यक्रमं आरभुं शक्नोति, यथा अधोलिखिते चित्रे दर्शितम् अस्ति ।
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
वयं ब्राउजर् उद्घाट्य प्रविशामःhttp://127.0.0.1:5000भवन्तः Hello, World!, यथा अधः दर्शितं तथा द्रष्टुं शक्नुवन्ति
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

अस्मिन् क्षणे वयं तान् अवधारणान् व्याख्यातुं समाप्तवन्तः यत् अस्माकं सम्पूर्णे Flask कार्यक्रमे भवितुमर्हति अवश्यं, एतानि मूलभूतसामग्रीणि सन्ति यदि भवान् Flask आधारितं जालपुटं पूर्णतया विकसितुं इच्छति तर्हि अद्यापि बहु किमपि ज्ञातव्यम् अस्ति as templates and databases , front-end technology, etc., लेखकः अपि शिक्षमाणः लिखति, अपि च Feynman शिक्षणपद्धतिं आकर्षयति यत् अहं अधिकं दृढतया स्मरामि यदि लेखनप्रक्रियायां किमपि लोपं वा त्रुटयः वा सन्ति तत् दर्शयतु।