मैं अपने पायथन फ्लास्क ऐप के साथ एचटीएमएल टेक्स्ट बॉक्स को लिंक करने की कोशिश कर रहा हूं ताकि मैं इसके साथ बातचीत कर सकूं, इसलिए मैंने बहुत सी चीजों की कोशिश की और इंटरनेट को "पार्स" किया कि यह कैसे करना है, लेकिन कुछ भी काम नहीं किया।

हालाँकि, मैंने थोड़ा छोटा परीक्षण कार्यक्रम किया ताकि आप बेहतर समझ सकें, और मैं अभी भी बहुत सारी त्रुटियों में जा रहा हूँ, वास्तव में पृष्ठ परीक्षण स्वयं लॉन्च होता है, और अपना इनपुट दर्ज करने और सबमिट बटन दबाने के बाद, मेरे पास एक " विधि की अनुमति नहीं है" त्रुटि, हालांकि मैंने सोचा कि यह स्वयं को ठीक कर देगा यदि विधियों के क्षेत्र में मैं "प्राप्त" और "पोस्ट" विधियों दोनों को डालता हूं।

वैसे भी मैं वास्तव में अवरुद्ध हूं और मुझे इस सरल कार्यक्रम को काम करने में मेरी मदद करने की आवश्यकता है।

यहाँ मेरे कार्यक्रम के लिए मार्ग है:

@app.route('/test.html', methods=['GET', 'POST'])
def route_test():
    text = request.form.get('text')
    print(text)
    return render_template('test.html', message = text)

और यहां एचटीएमएल पेज इससे जुड़ा हुआ है:

<!doctype html> <html lang= "en">

<head>
<meta charset="UTF8">
</head>
<body>
<h1>Indiquer votre nom</h1> <form action= "." method= "POST">
<input type= "text" name= "text"> <button type= "submit">OK</button>
</form>
<p>{{ message }}</p>
</body> </html>

जैसा कि आप देख सकते हैं कि यह बहुत आसान है, हालांकि यह मुझे टेक्स्ट प्रिंट नहीं करेगा।

मैंने request.form['text'] के साथ भी कोशिश की, और action="." को अलग-अलग चीजों के साथ बदल दिया, लेकिन कुछ भी नहीं बदला। आशा है आप मेरी समस्या का समाधान करेंगे, बहुत-बहुत धन्यवाद।

-1
Chetrit 1 अप्रैल 2020, 04:32

1 उत्तर

सबसे बढ़िया उत्तर

मैं वापस आ गया हूं, मुझे अंत में एक उत्तर मिला, कि मैं यहां रुचि रखने वालों के लिए पोस्ट करूंगा: वास्तव में आपको एक अन्य मार्ग बनाना होगा जो लिंक (यूआरएल) आपके एचटीएमएल फॉर्म की कार्रवाई होगी ताकि आपके पास हो आपका स्थिर पृष्ठ कि सबमिट बटन दबाते समय एक अन्य मार्ग को कॉल करें जो कि पायथन में एक फ़ंक्शन है, और फिर आप अपने आउटपुट को request.form['input1'] के साथ प्राप्त कर सकते हैं।

वैसे भी, यहाँ एक छोटा सा कोड उदाहरण है:

@app.route('/test', methods=['GET'])
def route_test():
    text = request.form.get('text')
    print(text)
    return render_template('test.html', message = text)

@app.route('/test_obtain_input', methods=['POST'])
def route_test_obtain_input():
    text = request.form['text']
    print(text)
##you can do whatever you want with it after, here I just reinjecting it in my test page
    return render_template('test.html', message = text)

और इसलिए मेरा एचटीएमएल फॉर्म इस तरह होगा:

<!-- insert the url that is adequate to your application -->
<form action= "https://localhost:5000/test_obtain_input" method= "POST">
<input type= "text" name= "text">
<button type= "submit">OK</button>
</form>

हालाँकि मैंने इस कोड का परीक्षण नहीं किया क्योंकि मैंने इसे अपने वास्तविक पृष्ठ पर उपयोग किया था, इसे काम करना चाहिए, और यह अच्छा तर्क है, मेरे साथी और मुझे ऐसा करने के लिए कोई अन्य समाधान नहीं मिला।

0
Chetrit 2 अप्रैल 2020, 18:37