python flask tutorial introduction flask
यह परिचयात्मक पायथन फ्लास्क ट्यूटोरियल बताता है कि फ्लास्क क्या है, पायथन की स्थापना, वर्चुअनव, फ्लास्क हैलो वर्ल्ड उदाहरण कोड उदाहरण, डिबगिंग और परीक्षण पर एक अनुभाग के साथ:
वेबसाइट का विकास एक कौशल से अधिक एक कला है। इसके लिए धैर्य और परिश्रम की आवश्यकता होती है, साथ ही दृढ़ता, साहस और समर्पण के साथ यह बनाने के लिए कि वास्तविक सफलता के लिए क्या आवश्यक है। इन दिनों, शिक्षार्थियों को जल्द से जल्द गति प्राप्त करना आवश्यक है।
हमने विद्यार्थियों के लिए यह पायथन फ्लास्क ट्यूटोरियल तैयार किया है ताकि पायथन 3 का उपयोग करके सरल और साथ ही जटिल वेब प्रोग्रामिंग को लागू किया जा सके।
यह पायथन फ्लास्क ट्यूटोरियल एक फ्लास्क शुरुआती ट्यूटोरियल की तरह है, जो पायथन, वर्चुअनव, और अन्य आवश्यक पैकेजों की स्थापना को कवर करेगा। ट्यूटोरियल की इस श्रृंखला में, हम अन्य आवश्यक फ्लास्क प्लगइन्स के साथ फ्लास्क भी स्थापित करेंगे। हमने Git Actions का उपयोग करके कोड डीबगिंग, परीक्षण और निरंतर एकीकरण पर एक अनुभाग भी शामिल किया है।
आप क्या सीखेंगे:
इस फ्लास्क श्रृंखला में ट्यूटोरियल की सूची
ट्यूटोरियल # 1: पायथन फ्लास्क ट्यूटोरियल - शुरुआती के लिए फ्लास्क का परिचय
ट्यूटोरियल # 2: फ्लास्क टेम्पलेट, प्रपत्र, दृश्य और उदाहरणों के साथ पुनर्निर्देशित
ट्यूटोरियल # 3: फ्लास्क डेटाबेस हैंडलिंग - एक डेटाबेस के साथ फ्लास्क का उपयोग कैसे करें
ट्यूटोरियल # 4: फ्लास्क ऐप और फ्लास्क प्रोजेक्ट लेआउट ब्लूप्रिंट और बूटस्ट्रैप के साथ
ट्यूटोरियल # 5: फ्लास्क डिजाइन पैटर्न और वेब अनुप्रयोगों के लिए सर्वोत्तम अभ्यास
ट्यूटोरियल # 6: फ्लास्क एपीआई ट्यूटोरियल उदाहरण के साथ | एपीआई के साथ फ्लास्क का विस्तार
ट्यूटोरियल # 7: Django बनाम फ्लास्क बनाम नोड: चयन करने के लिए कौन सा फ्रेमवर्क
ट्यूटोरियल # 8: शीर्ष 31 लोकप्रिय पायथन फ्लास्क साक्षात्कार प्रश्न उत्तर के साथ
फ्लास्क क्या है
फ्लास्क एक वेब डेवलपमेंट फ्रेमवर्क है। यह एक अंतर्निहित विकास सर्वर और एक डिबगर के साथ एक रूपरेखा है।
कुछ अच्छी एनीमे वेबसाइट क्या हैं
अपने आप में फ्लास्क फ्रेमवर्क अन्य आर्कटाइप्स से अलग है क्योंकि यह वेब डेवलपर्स को लचीला बनाने और सॉफ्टवेयर विकास समुदाय में अक्सर जारी किए गए परिवर्तनों को आराम से समायोजित करने की अनुमति देता है।
क्या फ्लास्क के लिए प्रयोग किया जाता है
हम पायथन प्रोग्रामिंग भाषा में वेब एप्लिकेशन विकसित करने के लिए फ्लास्क फ्रेमवर्क का उपयोग करते हैं। यह विकास के तहत आवेदन में समृद्धि और अर्थ लाने के लिए अन्य तृतीय-पक्ष सेवाओं और एपीआई के साथ एकीकृत करता है। फ्लास्क की मुख्य अवधारणाएं सरल हैं, और इसमें एक छोटे पदचिह्न हैं।
आइए एक फ्लास्क गिटहब रिपॉजिटरी की मदद से वेब विकास को समझने के लिए इस पायथन फ्लास्क ट्यूटोरियल के साथ शुरू करें। हालाँकि, आगे बढ़ने से पहले, कृपया चर्चा किए गए कोड उदाहरणों पर आसान अनुसरण के लिए जीथब से प्रोजेक्ट को क्लोन करें।
आवश्यक शर्तें
इस अनुभाग में उल्लिखित शीर्षकों के अलावा, हम एक Github खाता बनाने की सलाह देते हैं। पूर्वापेक्षाओं में नीचे दिए गए चरणों के साथ आगे बढ़ें।
चरण 1: पायथन स्थापित करें
जांचें कि आपने पायथन 3 स्थापित किया है या नहीं। यदि नहीं, तो पायथन 3 से डाउनलोड करें यहां और इसे अपने ऑपरेटिंग सिस्टम के अनुसार स्थापित करें।
चरण 2: एक पायथन वर्चुअल वातावरण बनाएँ
नीचे दिए गए कमांड का उपयोग करके एक आभासी वातावरण बनाएं।
python3 -m venv venv
पायथन वर्चुअल वातावरण को सक्रिय करने के लिए नीचे दिए गए आदेश का उपयोग करें।
source venv/bin/activate
हमने नीचे आभासी वातावरण के सक्रियण और निष्क्रिय होने का उदाहरण दिया है।
इस ट्यूटोरियल की सभी बाद की कमांड एक सक्रिय वर्चुअल वातावरण में चलनी चाहिए। व्हील पैकेज स्थापित करें ताकि हम वर्चुअल वातावरण के अंदर पहियों का निर्माण कर सकें।
pip install wheel
चरण 3: फ्लास्क डाउनलोड और इनसल्ट
हमें नीचे दिए गए चरणों का उपयोग करके फ्लास्क डाउनलोड चरणों को करने और फ्लास्क स्थापित करने की आवश्यकता है।
अब फ्लास्क स्थापित करें।
pip install flask
हम में से कुछ नवीनतम स्रोत कोड परिवर्तनों के साथ काम करना पसंद करते हैं। फ्लास्क के स्रोतों में नवीनतम परिवर्तनों के साथ स्थापित करने के लिए हम नीचे दिए गए आदेश का उपयोग कर सकते हैं।
एक अस्थायी निर्देशिका बनाएं।
mkdir tmp
अब Github भंडार से फ्लास्क स्थापित करें। काम करने के लिए आपको नीचे दिए गए कमांड के लिए इंटरनेट से जुड़े रहना होगा।
pip3 install -e git+git@github.com:pallets/flask.git#egg=flask
सफल इंस्टॉलेशन की जांच करने के लिए कंसोल आउटपुट को देखें। अब जांचें कि क्या हम फ्लास्क कमांड का उपयोग कर सकते हैं।
flask --help
फ्लास्क एप्लिकेशन की अनुपस्थिति के बारे में आपको कुछ अपवाद दिखाई दे सकते हैं। हालाँकि, उपेक्षा करें क्योंकि हमने कोई फ्लास्क ऐप नहीं बनाया है। हमारा ऐप फ्लास्क का एक उदाहरण है, जो कि वेर्केजग वेब फ्रेमवर्क और जिंजा टेम्पलेटिंग इंजन पर एक आवरण है।
साधन
Werkzeug एक WSGI टूलकिट है। WSGI वेब सर्वरों को अग्रेषित करने के लिए केवल एक सम्मेलन है वेब अनुरोध पायथन प्रोग्रामिंग भाषा में लिखे गए वेब अनुप्रयोगों के लिए।
जिंजा
टेंपलेटिंग वेब डेवलपर्स का एक आवश्यक कौशल है। जिंज अजगर के लिए पूरी तरह से चित्रित और लोकप्रिय अस्थायी इंजन है। यह काफी अभिव्यंजक भाषा है और टेम्पलेट लेखकों को औजारों का एक मजबूत सेट प्रदान करता है।
चरण 4: MongoDB स्थापित करें
MongoDB स्थापित करने के लिए नीचे दिए गए चरणों का पालन करें। हमने इसे डेबियन आधारित लिनक्स में स्थापित करने के चरणों को रेखांकित किया है। यदि आप किसी अन्य ऑपरेटिंग सिस्टम का उपयोग कर रहे हैं, तो एक्सेस करें संपर्क और इच्छित ऑपरेटिंग सिस्टम के अनुसार स्थापित करें।
MongoDB सार्वजनिक GPG कुंजी आयात करने के लिए gnupg स्थापित करें।
sudo apt-get install gnupg
अब नीचे दिए गए कमांड का उपयोग करके कुंजी को आयात करें।
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
अपने लिनक्स वितरण के अनुसार स्रोत सूची फ़ाइल बनाएँ। हमने डेबियन के अनुसार स्रोतों की सूची को जोड़ा है।
echo 'deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main' | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
अपडेट कमांड चलाएं
sudo apt-get update
अब नीचे कमांड का उपयोग करके MongoDB स्थापित करें।
sudo apt-get install -y mongodb-org
एक बार इंस्टॉलेशन सफल होने के बाद, नीचे दिए गए कमांड का उपयोग करके MongoDB शुरू करें।
sudo systemctl start mongod
नीचे दिए गए आदेश का उपयोग करते हुए MongoDB की स्थिति की जांच करें।
sudo systemctl status mongod
अब सुनिश्चित करें कि मोंगॉड स्वचालित रूप से सिस्टम-रिबूट पर शुरू होता है, जो नीचे दिखाए गए कमांड को जारी करके।
sudo systemctl enable mongod
अब चेक करें कि क्या आप मोंगो क्लाइंट का उपयोग करते हुए MongoDB सर्वर से कनेक्ट हो सकते हैं।
mongo
मोंगो शेल में, हेल्प का उपयोग करके देखें और dbs कमांड दिखाएँ।
एक फ्लास्क ऐप बनाएं
फ्लास्क-एपिल्डर और मोंगोइजिन को स्थापित करने के लिए नीचे दिए गए कमांड का उपयोग करें।
pip install flask-appbuilder pip install mongoengine pip install flask_mongoengine
नीचे दिए गए कोड स्निपेट में टिप्पणियों के रूप में दिखाए गए मानों के साथ एक कंकाल ऐप बनाएं।
flask fab create-app # Give the following values in the command line questionnaire # Application Name: flaskTutorialApp # EngineType : MongoEngine
हम नीचे दिए गए आउटपुट के समान देखेंगे।
Your new app name: exampleApp Your engine type, SQLAlchemy or MongoEngine (SQLAlchemy, MongoEngine) (SQLAlchemy): MongoEngine Downloaded the skeleton app, good coding!
प्रोजेक्ट और ऐप के लेआउट पर एक नज़र डालें। हमने नीचे ट्री कमांड का आउटपुट दिखाया है।
फ्लास्क कॉन्फिग फाइल पर एक नजर डालते हैं। यह अंतिम कमांड के परिणाम के रूप में उत्पन्न एक डिफ़ॉल्ट कॉन्फ़िगरेशन है। टिप्पणी हटाएं साईबोर्ग विषय, जैसा कि नीचे दिखाया गया है।
# Theme configuration for Cybord=g # these themes are located on static/appbuilder/css/themes # We can create our own and easily use them by placing them on the same dir structure to override #APP_THEME = 'bootstrap-theme.css' # default bootstrap #APP_THEME = 'cerulean.css' # cerulean #APP_THEME = 'amelia.css' # amelia theme #APP_THEME = 'cosmo.css' # cosmo theme APP_THEME = 'cyborg.css' # cyborg theme #APP_THEME = 'flatly.css' # flatly theme
कंकाल ऐप को चलाने के लिए, टर्मिनल पर नीचे दी गई कमांड का उपयोग करें।
flask run
फ्लास्क हैलो वर्ल्ड
फ्लास्कटाइटरऐप में अपना पहला प्रोग्राम बनाने के लिए, ऐप डायरेक्टरी के तहत फाइल व्यूहोम खोलें और निम्न कोड जोड़ें। फ़ाइल में दिए गए आयात विवरण देखें। यदि पहले से मौजूद न हों तो इन कथनों को जोड़ें।
from flask_appbuilder import BaseView, expose from app import appbuilder class HelloWorld(BaseView): ''' This first view of the tutorial ''' route_base = '/hello' @expose('/') def hello(self): return 'Hello, World! from Software Testing Help' # at the end of the file appbuilder.add_view_no_menu(HelloWorld())
उपरोक्त स्रोत कोड जोड़ने के बाद फ़ाइल को सहेजें। प्रोजेक्ट की मूल निर्देशिका पर जाएं और फ्लास्क के विकास सर्वर को चलाने के लिए नीचे दिए गए कमांड का उपयोग करें।
flask run
अब ब्राउजर में आउटपुट देखने के लिए http: // localhost: 5000 / hello / पर जाएं।
डिबगिंग
वर्तमान में, डिबग मोड में विकास सर्वर नहीं चल रहा है। डिबगिंग मोड के बिना, फ्लास्क एप्लिकेशन के स्रोत कोड में त्रुटियों को ढूंढना मुश्किल है।
फ्लास्क में डिबग मोड निम्नलिखित में परिणाम:
- डीबग मोड स्वचालित पुनः लोडर को सक्रिय करता है। इसका अर्थ है कि एप्लिकेशन के स्रोत कोड में परिवर्तन करने के बाद हमें विकास सर्वर को पुनरारंभ करने की आवश्यकता नहीं है।
- डीबग मोड पायथन डिबगर को सक्रिय करता है। हम अपवाद के दौरान चर के मूल्यों का निरीक्षण कर सकते हैं।
- डीबग मोड फ्लास्क एप्लिकेशन डीबगिंग को सक्षम करता है। हम डिबगिंग सत्रों में विभिन्न चर के मूल्यों की जांच कर सकते हैं।
यदि यह पहले से चल रहा है तो डेवलपमेंट सर्वर को बंद करें। आप ऐसा करने के लिए CTRL + C या कीबोर्ड इंटरप्ट का उपयोग कर सकते हैं।
डिबग मोड को सक्षम करने और अस्थायी रूप से विकास सर्वर को चलाने के लिए निम्न कोड का उपयोग करें।
FLASK_ENV=development flask run
डीबगर पिन के लिए कंसोल खोजें और उसका एक नोट बनाएं।
अब कोड स्निपेट की निम्नलिखित पंक्तियों के साथ उपरोक्त लिखित HelloWorld दृश्य को बदलें। ध्यान दें कि हमने एक कस्टम अपवाद पेश किया है।
@expose('/') def hello(self): raise Exception('A custom exception to learn DEBUG Mode') return 'Hello, World! from Software Testing Help'
Http: // localhost: 5000 / हैलो / पर नेविगेट करें, और आप देखेंगे कि एप्लिकेशन ने एक अपवाद उठाया है। ब्राउज़र स्टैक ट्रेस दिखाता है, जैसा कि नीचे दिखाया गया है।

इसके अलावा, कंसोल को देखें जहां विकास सर्वर चल रहा है। आप पाएंगे कि इस बार, view.py में परिवर्तन स्वतः ही ज्ञात हैं, और डीबग सर्वर अपने आप पुनरारंभ होता है। अब हमें इसे मैन्युअल रूप से पुनरारंभ करने की आवश्यकता नहीं है।
कंसोल में लाइनें होंगी, जैसा कि नीचे दिखाया गया है। हमें बाद के लिए डीबग पिन को नोट करना होगा।
* Detected change in 'https://cdn.softwaretestinghelp.com/work/sth/flaskTutorialApp/app/views.py', reloading 2020-06-02 14:59:49,354:INFO:werkzeug: * Detected change in 'https://cdn.softwaretestinghelp.com/work/sth/flaskTutorialApp/app/views.py', reloading * Restarting with stat 2020-06-02 14:59:49,592:INFO:werkzeug: * Restarting with stat * Debugger is active! * Debugger PIN: 150-849-897
अब ब्राउजर में स्टैक ट्रेस चेक करें और लास्ट लाइन पर जाएं। इसके दृश्य का विस्तार करने के लिए इस पर क्लिक करें और इंटरैक्टिव मोड में शेल को खोलने के लिए CLI आइकन पर क्लिक करें।

इसे खोलने के बाद, आप देखेंगे कि ब्राउज़र डिबग पिन के लिए संकेत देगा। डीबग पिन दें और ओके पर क्लिक करें।

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

अब कोड को view.py में बदलें, जैसा कि नीचे दिखाया गया है। ध्यान दें कि हमने उस पंक्ति पर टिप्पणी की है जिसमें अपवाद उठाया गया था।
सबसे अच्छा ईमेल प्रदाता कौन है
@expose('/') def hello(self): # raise Exception('A custom exception to learn DEBUG Mode') return 'Hello, World! from Software Testing Help'
फ्लास्क एप्लीकेशन का परीक्षण
अब फ्लास्क एप्लिकेशन के लिए अपना पहला परीक्षण लिखें जिसे हम विकसित कर रहे हैं। सबसे पहले, PyTest इंस्टॉल करें। PyTest एक टेस्टिंग फ्रेमवर्क है। यह हमें बेहतर कोड लिखने में मदद करता है।
इसके अलावा, सिर्फ इसलिए कि हम अपने अनुप्रयोगों को विकसित करते समय इकाई परीक्षण लिख सकते हैं, टीडीडी दृष्टिकोण का पालन करना संभव है। TDD का मतलब टेस्ट-ड्रिवेन डेवलपमेंट है। इस श्रृंखला के बाद के हमारे ट्यूटोरियल में, हम हमेशा पहले परीक्षण लिखेंगे और अपने विचार या मॉडल विकसित करेंगे।
PyTest स्थापित करें
pip install pytest
अब ऐप डायरेक्टरी के अंदर एक डायरेक्टरी नामक टेस्ट बनाएं और उसमें test_hello.py नामक एक फाइल बनाएं। आइए हमारे दृश्य का परीक्षण करने के लिए हमारी पहली इकाई परीक्षण लिखें।
निम्नलिखित कोड स्निपेट कॉपी करें और उसे test_hello.py में पेस्ट करें।
#!/usr/bin/env python from app import appbuilder import pytest @pytest.fixture def client(): ''' A pytest fixture for test client ''' appbuilder.app.config('TESTING') = True with appbuilder.app.test_client() as client: yield client def test_hello(client): ''' A test method to test view hello ''' resp = client.get('/hello', follow_redirects=True) assert 200 == resp.status_code
परीक्षणों को चलाने के लिए नीचे दिए गए pytest कमांड का उपयोग करें। पायटेस्ट स्वचालित रूप से टेस्ट इकट्ठा करता है और मानक आउटपुट पर परिणाम प्रदर्शित करता है।

एक GitHub वर्कफ़्लो बनाएँ
हम अपने नमूना आवेदन के लिए CI / CD वर्कफ़्लो बनाने के लिए Git क्रियाएँ का उपयोग करते हैं। अपने प्रोजेक्ट के लिए नीचे दिए गए चरणों का पालन करें।
चरण 1: GitHub पर रिपॉजिटरी पेज पर नेविगेट करें। Git Actions पर क्लिक करें।

चरण 2: पृष्ठ पर नीचे स्क्रॉल करें और पायथन पैकेज के लिए मौजूदा वर्कफ़्लो टेम्पलेट ढूंढें।

चरण 3: पायथन पैकेज वर्कफ़्लो सेटअप करें।

चरण 4: एक बार अजगर-पैकेज.एकएल वर्कफ़्लो कॉन्फ़िगरेशन खुल जाता है, इसे दिए गए yaml अतिरिक्त टैग मानों के आधार पर अपडेट करें।
name: flaskTutorialApp jobs: build: runs-on: ubuntu-latest strategy: matrix: python-version: (3.7, 3.8) mongodb-version: (4.2) steps: - name: Start MongoDB uses: supercharge/mongodb-github-action@1.3.0 with: mongodb-version: ${{ matrix.mongodb-version }} # other values
हम नवीनतम Ubuntu लिनक्स वितरण पर हमारे फ्लास्क एप्लिकेशन का परीक्षण करना चाहते हैं। ओएस के अलावा, हम केवल पायथन 3.7 और पायथन 3.8 का उपयोग करके अपने परीक्षण चलाना चाहते हैं।
चरण 5: अद्यतन किए गए मूल्यों के साथ अजगर-पैकेज करें।

चरण 6: पिछले पृष्ठ में प्रतिबद्ध हमें GitActions नौकरियों में ले जाता है।

चरण 7: (वैकल्पिक)
नमूना ट्यूटोरियल ऐप के लिए जीथब जॉब्स पृष्ठ पर, हम बिल्ला बना सकते हैं और इसे बिल्ड स्थिति प्रदर्शित करने के लिए README.md फ़ाइल पर रख सकते हैं।
अब, जब भी परिवर्तन मास्टर शाखा के लिए प्रतिबद्ध होते हैं, Git Workflow, जैसा कि python-package.yml में लिखा गया है और Git Actions पर चलाया जाएगा।
निष्कर्ष
इस ट्यूटोरियल में, हमने फ्लास्क - ए पायथन-आधारित वेब डेवलपमेंट फ्रेमवर्क का उपयोग करके विकसित वेब एप्लिकेशन के लिए CI / CD वर्कफ़्लो स्थापित करने के लिए सभी आधार अवधारणाओं को शामिल किया है।
यह ट्यूटोरियल सभी आवश्यक चरणों को शामिल करता है जैसे कि पायथन को स्थापित करना, डाउनलोड करना और फ्लास्क को स्थापित करना, फ्लास्क-एपिल्डर के साथ काम करना, पायटेस्ट के साथ परीक्षण करना, आदि पायथन का उपयोग करके वेब विकास के साथ आरंभ करना। वेब डेवलपमेंट समुदाय आमतौर पर फ्लास्क की तुलना एक अन्य लोकप्रिय पायथन वेब डेवलपमेंट फ्रेमवर्क से करता है जिसे Django कहा जाता है।
हम इन अंतरों की व्याख्या करेंगे और इस श्रृंखला में एक ट्यूटोरियल में इन रूपरेखाओं की तुलना भी करेंगे।
अनुशंसित पाठ
- Django बनाम फ्लास्क बनाम नोड: चयन करने के लिए कौन सा फ्रेमवर्क
- फ्लास्क एपीआई ट्यूटोरियल उदाहरण के साथ | एपीआई के साथ फ्लास्क का विस्तार
- फ्लास्क ऐप और फ्लास्क प्रोजेक्ट लेआउट ब्लूप्रिंट और बूटस्ट्रैप के साथ
- फ्लास्क डेटाबेस हैंडलिंग - एक डेटाबेस के साथ फ्लास्क का उपयोग कैसे करें
- फ्लास्क डिजाइन पैटर्न और वेब अनुप्रयोगों के लिए सर्वोत्तम अभ्यास
- फ्लास्क टेम्पलेट, प्रपत्र, दृश्य और उदाहरणों के साथ पुनर्निर्देशित
- शीर्ष 31 लोकप्रिय पायथन फ्लास्क साक्षात्कार प्रश्न उत्तर के साथ
- पायथन ट्यूटोरियल फॉर बिगिनर्स (हैंड्स-ऑन फ्री पायथन ट्रेनिंग)