फ्लास्क - एचटीटीपी तरीके
Http प्रोटोकॉल वर्ल्ड वाइड वेब में डेटा संचार की नींव है। निर्दिष्ट URL से डेटा पुनर्प्राप्ति के विभिन्न तरीकों को इस प्रोटोकॉल में परिभाषित किया गया है।
निम्न तालिका विभिन्न http विधियों का सारांश प्रस्तुत करती है -
अनु क्रमांक। | तरीके और विवरण |
---|---|
1 | GET सर्वर को अनएन्क्रिप्टेड रूप में डेटा भेजता है। सबसे आम तरीका। |
2 | HEAD GET के समान है, लेकिन प्रतिक्रिया निकाय के बिना |
3 | POST HTML फॉर्म डेटा को सर्वर पर भेजने के लिए उपयोग किया जाता है। POST विधि द्वारा प्राप्त डेटा सर्वर द्वारा कैश नहीं किया जाता है। |
4 | PUT अपलोड की गई सामग्री के साथ लक्ष्य संसाधन के सभी वर्तमान अभ्यावेदन को प्रतिस्थापित करता है। |
5 | DELETE किसी URL द्वारा दिए गए लक्ष्य संसाधन के सभी वर्तमान अभ्यावेदन को हटा देता है |
डिफ़ॉल्ट रूप से, फ्लास्क मार्ग प्रतिक्रिया करता है GETअनुरोध। हालाँकि, इस तर्क को विधि तर्क प्रदान करके बदला जा सकता हैroute() डेकोरेटर।
के उपयोग को प्रदर्शित करने के लिए POST URL राउटिंग में विधि, पहले हमें एक HTML फॉर्म बनाएं और उपयोग करें POST किसी URL को फ़ॉर्म डेटा भेजने की विधि।
निम्न स्क्रिप्ट को login.html के रूप में सहेजें
<html>
<body>
<form action = "http://localhost:5000/login" method = "post">
<p>Enter Name:</p>
<p><input type = "text" name = "nm" /></p>
<p><input type = "submit" value = "submit" /></p>
</form>
</body>
</html>
अब पायथन शेल में निम्नलिखित स्क्रिप्ट दर्ज करें।
from flask import Flask, redirect, url_for, request
app = Flask(__name__)
@app.route('/success/<name>')
def success(name):
return 'welcome %s' % name
@app.route('/login',methods = ['POST', 'GET'])
def login():
if request.method == 'POST':
user = request.form['nm']
return redirect(url_for('success',name = user))
else:
user = request.args.get('nm')
return redirect(url_for('success',name = user))
if __name__ == '__main__':
app.run(debug = True)
विकास सर्वर चलने के बाद, खोलें login.html ब्राउज़र में, टेक्स्ट फ़ील्ड में नाम दर्ज करें और क्लिक करें Submit।
फॉर्म टैग के एक्शन क्लॉज में URL पर फॉर्म डेटा पोस्ट किया गया है।
http://localhost/login को मैप किया जाता है login()समारोह। चूंकि सर्वर ने डेटा प्राप्त कर लिया हैPOST विधि, प्रपत्र डेटा से प्राप्त 'एनएम' पैरामीटर का मूल्य -
user = request.form['nm']
इसे पारित किया जाता है ‘/success’परिवर्तनशील भाग के रूप में URL। ब्राउज़र प्रदर्शित करता हैwelcome खिड़की में संदेश।
करने के लिए विधि पैरामीटर बदलें ‘GET’ में login.htmlऔर इसे फिर से ब्राउज़र में खोलें। सर्वर पर प्राप्त डेटा द्वारा होता हैGETतरीका। 'Nm' पैरामीटर का मान अब किसके द्वारा प्राप्त किया जाता है -
User = request.args.get(‘nm’)
यहाँ, argsडिक्शनरी ऑब्जेक्ट है जिसमें फॉर्म पैरामीटर और इसके संबंधित मान के जोड़े की सूची है। 'Nm' पैरामीटर से संबंधित मान पहले की तरह '/ सफलता' URL पर पारित किया गया है।