Python Academy · पाठ

फ़ॉर्म और अनुरोध डेटा

उपयोगकर्ता इनपुट संसाधित करें

पाठ 3, कुल 4 में से13 चरण

फ़ॉर्म और अनुरोध डेटा, CoddyKit पर Python Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Python Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Python Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

request ऑब्जेक्ट

Flask हर व्यू को एक वैश्विक request ऑब्जेक्ट की सुविधा देता है, जिसमें आने वाला सारा डेटा होता है: फ़ॉर्म फ़ील्ड, क्वेरी स्ट्रिंग, JSON, हेडर और बहुत कुछ।

from flask import Flask, request
app = Flask(__name__)
# request is available inside any view
print('request carries the incoming data')

क्वेरी स्ट्रिंग पैरामीटर

यूआरएल में ? के बाद का डेटा request.args में रहता है। किसी मान को सुरक्षित रूप से पढ़ने के लिए .get() का उपयोग करें।

from flask import Flask, request
app = Flask(__name__)

@app.route('/search')
def search():
    term = request.args.get('q', '')
    return 'Searching for ' + term
print('/search?q=cats -> request.args')

एक HTML फ़ॉर्म

सबमिट किए जाने पर फ़ॉर्म डेटा भेजता है। method और action विशेषताएँ तय करती हैं कि डेटा कैसे और कहाँ भेजा जाएगा।

# <form method='POST' action='/login'>
#   <input name='username'>
#   <input name='password' type='password'>
#   <button>Submit</button>
# </form>
print('Form posts username and password')

फ़ॉर्म डेटा पढ़ना

सबमिट किए गए फ़ॉर्म फ़ील्ड request.form में आते हैं। इनपुट की name विशेषता के माध्यम से उन तक पहुँचें।

from flask import Flask, request
app = Flask(__name__)

@app.route('/login', methods=['POST'])
def login():
    user = request.form['username']
    return 'Welcome ' + user
print('request.form holds posted fields')

get से सुरक्षित पहुँच

request.form['x'] का उपयोग करने पर कुंजी missing होने पर त्रुटि आती है। इसके बजाय request.form.get('x') को प्राथमिकता दें, जो None लौटाता है।

from flask import Flask, request
app = Flask(__name__)

@app.route('/login', methods=['POST'])
def login():
    user = request.form.get('username')
    if not user:
        return 'Missing username', 400
    return 'Welcome ' + user
print('.get avoids KeyError')

एक ही व्यू में GET और POST

एक सामान्य तरीका यह है: GET पर फ़ॉर्म दिखाएँ और POST पर डेटा संसाधित करें, दोनों काम एक ही व्यू में।

from flask import Flask, request, render_template
app = Flask(__name__)

@app.route('/contact', methods=['GET', 'POST'])
def contact():
    if request.method == 'POST':
        return 'Thanks, ' + request.form.get('name', 'friend')
    return render_template('contact.html')
print('One view, two methods')

इनपुट की जाँच करना

उपयोगकर्ता के इनपुट पर कभी आँख मूँदकर भरोसा न करें। इस्तेमाल करने से पहले जाँचें कि आवश्यक फ़ील्ड मौजूद हैं और उनके मान उचित हैं।

from flask import Flask, request
app = Flask(__name__)

@app.route('/age', methods=['POST'])
def age():
    raw = request.form.get('age', '')
    if not raw.isdigit():
        return 'Age must be a number', 400
    return 'Age is ' + raw
print('Validate before trusting input')

JSON पढ़ना

एपीआई क्लाइंट अक्सर JSON भेजते हैं। request.get_json() मुख्य भाग को Python डिक्शनरी में पार्स करता है।

from flask import Flask, request
app = Flask(__name__)

@app.route('/api', methods=['POST'])
def api():
    data = request.get_json()
    return 'Got name ' + data.get('name', '?')
print('get_json parses the JSON body')

फ़ाइल अपलोड

अपलोड की गई फ़ाइलें request.files में रहती हैं। उनकी जाँच करने के बाद .save() विधि से किसी फ़ाइल को सहेजें।

from flask import Flask, request
app = Flask(__name__)

@app.route('/upload', methods=['POST'])
def upload():
    f = request.files.get('photo')
    if f:
        return 'Received ' + f.filename
    return 'No file', 400
print('request.files holds uploads')

POST के बाद रीडायरेक्ट

फ़ॉर्म संभालने के बाद उपयोगकर्ता को रीडायरेक्ट करें, ताकि पृष्ठ को फिर से लोड करने पर डेटा दोबारा सबमिट न हो। redirect(url_for(...)) का उपयोग करें।

from flask import Flask, redirect, url_for
app = Flask(__name__)

@app.route('/done')
def done():
    return 'All done'

@app.route('/save', methods=['POST'])
def save():
    return redirect(url_for('done'))
print('Post/Redirect/Get pattern')

फ़्लैश संदेश

flash() रीडायरेक्ट के बाद दिखाया जाने वाला एक बार का संदेश संग्रहीत करता है। यह 'सफलतापूर्वक सहेजा गया' जैसे पुष्टिकरण संदेशों के लिए उपयोगी है।

from flask import Flask, flash, redirect, url_for
app = Flask(__name__)
app.secret_key = 'change-me'

@app.route('/save', methods=['POST'])
def save():
    flash('Saved successfully')
    return redirect(url_for('save'))
print('flash shows a one-time message')

त्वरित जाँच

फ़ॉर्म संभालने से जुड़े अपने ज्ञान की जाँच करें।

पुनरावलोकन

आपने Flask में उपयोगकर्ता इनपुट संसाधित करना सीखा।

  • क्वेरी स्ट्रिंग के लिए request.args और फ़ॉर्म फ़ील्ड के लिए request.form
  • JSON मुख्य भाग के लिए request.get_json() और अपलोड के लिए request.files
  • इनपुट की हमेशा जाँच करें और सुरक्षित पहुँच के लिए .get() का उपयोग करें
  • साफ़ उपयोगकर्ता अनुभव के लिए Post/Redirect/Get और flash() का उपयोग करें
शुरुआत निःशुल्क

एआई शिक्षक के साथ Python सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
76
पाठ
320

अक्सर पूछे जाने वाले प्रश्न

क्या “फ़ॉर्म और अनुरोध डेटा” पाठ निःशुल्क है?

हाँ—“फ़ॉर्म और अनुरोध डेटा” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Python Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Python Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“फ़ॉर्म और अनुरोध डेटा” में मैं क्या सीखूँगा?

उपयोगकर्ता इनपुट संसाधित करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Python Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Python Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Python Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“फ़ॉर्म और अनुरोध डेटा” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Python Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Python Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. रूट और दृश्य
  2. Jinja2 के साथ टेम्पलेट
  3. फ़ॉर्म और अनुरोध डेटा
  4. REST Endpoint बनाना
← Python Academy पर वापस जाएँ