Flask क्या है? Python वेब फ्रेमवर्क की संपूर्ण गाइड
Flask का परिचय
Flask — Python में बना एक मिनिमलिस्टिक वेब फ्रेमवर्क है, जो वेब ऐप्लिकेशन और REST API बनाने के लिए डिज़ाइन किया गया है। यह एक सरल और लचीली संरचना प्रदान करता है, जिससे आप प्रोटोटाइप से लेकर पूरी तरह से काम करने वाला वेब ऐप्लिकेशन जल्दी से विकसित कर सकते हैं। Flask, WSGI टूलकिट Werkzeug पर आधारित है और Jinja2 टेम्पलेट सिस्टम का उपयोग करता है।
2010 में Armin Ronacher द्वारा बनाया गया Flask, "एक काम करो, लेकिन अच्छे से करो" के दर्शन के कारण लोकप्रिय हुआ। भारी-भरकम फ्रेमवर्क के विपरीत, Flask केवल आवश्यक न्यूनतम सुविधाएँ प्रदान करता है, जिससे डेवलपर्स अपने प्रोजेक्ट के लिए खुद कंपोनेंट चुन सकते हैं।
Flask की मुख्य विशेषताएँ
मिनिमलिस्टिक और एक्सटेंसिबल दृष्टिकोण
Flask माइक्रोफ्रेमवर्क के सिद्धांत का पालन करता है, बुनियादी कार्यक्षमता प्रदान करता है और प्लगइन्स और एक्सटेंशन के माध्यम से इसे विस्तारित करने की अनुमति देता है।
बिल्ट-इन रूटिंग और रिक्वेस्ट हैंडलिंग
यह फ्रेमवर्क विभिन्न HTTP मेथड और URL पैरामीटर के समर्थन के साथ एक सहज रूटिंग सिस्टम प्रदान करता है।
Jinja2 टेम्पलेट का समर्थन
शक्तिशाली Jinja2 टेम्पलेट सिस्टम के साथ एकीकरण HTML टेम्पलेट और डायनामिक कंटेंट के साथ आसान काम सुनिश्चित करता है।
REST API बनाने की क्षमता
Flask, JSON रिस्पॉन्स और HTTP मेथड की लचीली हैंडलिंग के कारण RESTful API बनाने के लिए बहुत उपयुक्त है।
एक्सटेंशन का समर्थन
एक्सटेंशन की समृद्ध पारिस्थितिकी आपको डेटाबेस, प्रमाणीकरण, फॉर्म और बहुत कुछ के साथ काम करने की कार्यक्षमता जोड़ने की अनुमति देती है।
Python 3.7+ के साथ संगतता
Flask Python के आधुनिक संस्करणों का समर्थन करता है और विकास की सर्वोत्तम प्रथाओं का पालन करता है।
इंस्टॉलेशन और सेटअप
pip के माध्यम से इंस्टॉलेशन
pip install flask
इंस्टॉलेशन की जाँच
python -m flask --version
app.py फ़ाइल बनाना और चलाना
export FLASK_APP=app.py
flask run
Windows के लिए:
set FLASK_APP=app.py
flask run
पहला ऐप्लिकेशन बनाना
सरल app.py उदाहरण
from flask import Flask
app = Flask(__name__)
@app.route("/")
def home():
return "Flask में आपका स्वागत है!"
if __name__ == '__main__':
app.run(debug=True)
ऐप्लिकेशन चलाना
flask run
ऐप्लिकेशन इस पते पर उपलब्ध होगा: http://localhost:5000/
रूट और URL को हैंडल करना
बेसिक रूटिंग
@app.route("/user/<username>")
def show_user_profile(username):
return f"उपयोगकर्ता प्रोफ़ाइल: {username}"
टाइपिंग के साथ रूट
@app.route("/post/<int:post_id>")
def show_post(post_id):
return f"पोस्ट नंबर {post_id}"
@app.route("/user/<path:subpath>")
def show_subpath(subpath):
return f"उपपथ: {subpath}"
समर्थित पैरामीटर प्रकार
string- स्ट्रिंग (डिफ़ॉल्ट)int- पूर्णांकfloat- फ्लोटिंग पॉइंट संख्याएँpath- "/" वर्णों वाली स्ट्रिंगuuid- UUID स्ट्रिंग
HTTP मेथड के साथ काम करना
विभिन्न मेथड को हैंडल करना
@app.route("/data", methods=["GET", "POST", "PUT", "DELETE"])
def handle_data():
if request.method == "POST":
return "डेटा बनाया गया"
elif request.method == "PUT":
return "डेटा अपडेट किया गया"
elif request.method == "DELETE":
return "डेटा हटाया गया"
return "डेटा प्राप्त करना"