कई समान लगने वाली समस्याओं और संबंधित फ्लास्क डॉक्स को पढ़ने के बाद, मुझे यह पता नहीं लग सकता है कि निम्नलिखित जमा करने पर निम्नलिखित त्रुटि उत्पन्न हो रही है:
400 गलत अनुरोध
ब्राउज़र (या प्रॉक्सी) ने एक अनुरोध भेजा जिसे यह सर्वर समझ नहीं सका।
जब फ़ॉर्म हमेशा ठीक से प्रदर्शित होता है, तो खराब अनुरोध तब होता है जब मैं एक HTML फॉर्म जमा करता हूं जो इन कार्यों में से किसी एक से जुड़ा होता है:
@app.route('/app/business', methods=['GET', 'POST'])
def apply_business():
if request.method == 'POST':
new_account = Business(name=request.form['name_field'], email=request.form['email_field'], account_type="business",
q1=request.form['q1_field'], q2=request.form['q2_field'], q3=request.form['q3_field'], q4=request.form['q4_field'],
q5=request.form['q5_field'], q6=request.form['q6_field'], q7=request.form['q7_field'],
account_status="pending", time=datetime.datetime.utcnow())
db.session.add(new_account)
db.session.commit()
session['name'] = request.form['name_field']
return redirect(url_for('success'))
return render_template('application.html', accounttype="business")
@app.route('/app/student', methods=['GET', 'POST'])
def apply_student():
if request.method == 'POST':
new_account = Student(name=request.form['name_field'], email=request.form['email_field'], account_type="student",
q1=request.form['q1_field'], q2=request.form['q2_field'], q3=request.form['q3_field'], q4=request.form['q4_field'],
q5=request.form['q5_field'], q6=request.form['q6_field'], q7=request.form['q7_field'], q8=request.form['q8_field'],
q9=request.form['q9_field'], q10=request.form['q10_field'],
account_status="pending", time=datetime.datetime.utcnow())
db.session.add(new_account)
db.session.commit()
session['name'] = request.form['name_field']
return redirect(url_for('success'))
return render_template('application.html', accounttype="student")
HTML का प्रासंगिक हिस्सा है
<html>
<head>
<title>apply</title>
</head>
<body>
{% if accounttype=="business" %}
<form action="{{ url_for('apply_business') }}" method=post class="application_form">
{% elif accounttype=="student" %}
<form action="{{ url_for('apply_student') }}" method=post class="application_form">
{% endif %}
<p>Full Name:</p>
<input name="name_field" placeholder="First and Last">
<p>Email Address:</p>
<input name="email_field" placeholder="your@email.com">
...
ज्यादातर लोगों के लिए समस्या फोन नहीं थी GET
या POST
, लेकिन मैं दोनों कार्यों में बस यही कर रहा हूं, और मैंने यह सुनिश्चित करने के लिए डबल चेक किया कि मैंने आवश्यक सब कुछ आयात किया है, जैसे कि from flask import request
। मैंने डेटाबेस की भी पुष्टि की और पुष्टि की कि फॉर्म से परिवर्धन नहीं जोड़ा गया था।
फ्लास्क ऐप में, मैं उन फॉर्म फ़ील्ड का अनुरोध कर रहा था, जिन्हें HTML फॉर्म में थोड़ा अलग लेबल किया गया था। नाम लगातार रखना एक जरूरी है। इस प्रश्न पर अधिक पढ़ा जा सकता है फॉर्म भेजने में त्रुटि, फ्लास्क