【发布时间】:2020-12-07 13:55:37
【问题描述】:
这里我是针对希望购买一些东西的客户的详细信息,他必须填写这些字段才能购买一些产品。
但是当我路由到链接时,弹出以下错误
当我路由到详细信息时出现此错误我收到如下所述的错误如何解决此问题
werkzeug.exceptions.BadRequestKeyError:
400 Bad Request:浏览器(或代理)发送了一个服务器无法理解的请求。 KeyError:'电子邮件'
details.html this is a html file
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Details</title>
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="{{url_for('static', filename='css/landing_page.css')}}">
<link rel="stylesheet" href="{{url_for('static', filename='css/login.css')}}">
</head>
<body>
<form method="POST">
<center>
<h2>Personal Details</h2>
<div class="details">
<input type ="text" name ="fname" placeholder="Name" pattern="[A-Za-z]{,3}" title="Enter valid name" required>
<br/>
<input type ="text" name ="email" placeholder="E-mail id" data-type = "E-mail" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$" title = "Enter a valid email" required>
<br/>
<input type="text" name="phonenumber" placeholder="Phone number" title="Enter your mobile number without +91" pattern="[0-9]{10,10}" required="required">
<br/>
<input type="text" name="Altphonenumber" placeholder="Alternative Phone number" title="Enter your mobile number without +91" pattern="[0-9]{10,10}" required="required">
<br/>
<input type ="text" name ="address" placeholder="Address" pattern="[a-z0-9#,]{7,}$" title = "Enter a valid Address" required>
<br/>
<button class = "btn btn2" type="submit" name="Create">Proceed</button>
</div>
</center>
</form>
<br>
<footer class="container">
<center>
<div>Designed and Developed by Sharath S Hebbar</div>
</center>
</footer>
</body>
</html>
app.py is a server written in flask
#details
@app.route('/details', methods = ['GET','POST'])
def details():
if not(c_id == 0) and request.method == "POST":
data = request.form
#Name = data['fname']
Email = data['email']
Phone = data['phonenumber']
Altphone = data['Altphonenumber']
Address = data['address']
cur = mysql.connection.cursor()
cur.execute("INSERT INTO details(name,email,phone,alt_phone,address) VALUES (%s,%s,%s,%s,%s)", (Name,Email,Phone,Altphone,Address))
mysql.connection.commit()
cur.close()
return render_template('creditcarddetails.html')
else:
return redirect(url_for('login'))
return render_template('details.html')
【问题讨论】:
-
我认为只有当电子邮件不在 request.form 中时才会出现此键错误?您的代码在这里运行良好。
标签: python html css mysql flask