【发布时间】:2020-12-13 08:37:28
【问题描述】:
<form action='signup' method="POST" onsubmit="return checkPassword();">
<div class="container">
<center>
<h1 style="color: #511845; font-family:'Varela Round',sans-serif;">User Sign up</h1>
</center>
<div class="spc">
<div class="input-container">
<i class="fa fa-user icon" style="font-size:30px;"></i>
<input type="text" placeholder="Username" name="username" id="username" required>
</div>
</div>
<div class="spc">
<div class="input-container">
<i class="fa fa-envelope-square icon" style="font-size: 30px;"></i>
<input type="email" placeholder="Email Address" name="email" id="email" required>
</div>
</div>
<div class="spc">
<div class="input-container">
<i class="fa fa-phone icon" style="font-size: 30px;"></i>
<input type="number" placeholder="Phone Number should start with 92" title="Invalid Phone Number" name="phone no" id="number" pattern="[0-9]{12}" required>
</div>
</div>
<div class="spc">
<div class="input-container">
<i class="fa fa-lock icon" style="font-size: 30px;"></i>
<input type="password" placeholder="Password" name="psw" id="psw" title="Must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters" pattern=(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,} required>
</div>
</div>
<div class="spc">
<div class="input-container">
<i class="fa fa-lock icon" style="font-size: 30px;"></i>
<input class="input-field" type="password" placeholder="Re-enter password" id="rpsw" name="rpsw">
</div>
</div>
<center><button class="signup" type="submit" name="sub">Sign-up</button></center>
<div class="spc" style="padding-left:30px">
<div class="input-container">
<h3 class="signin">
<centre>Already have an Account?</centre>
<button class="signin-btn"><a style="text-decoration: none;color: white;" href="/signin">Sign-in</a></button>
</h3>
</div>
</div>
</div>
</form>
<script>
function checkPassword(){
var1 = document.getElementById("psw");
var2 = document.getElementById("rpsw");
if(var1.value != var2.value){
alert("Passwords do not match, please try again!");
return false;
}
}
</script>
@app.route('/signup', methods=['GET','POST'])
def signup_page():
if [request.method == "POST"]:
user_name = request.form['username']
user_email = request.form['email']
user_number = request.form['number']
user_password = request.form["psw"]
user_id = user_name[0:3] + str(user_number)[0:3] + user_password[0:3] + str(random.randrange(1000))
return render_template('/Sign_up/signup.html')
我正在尝试从注册表单中输入数据,然后执行一些计算,最后将其存储在数据库中(目前未实现)当我尝试执行上述代码时,它在 localhost 上出现错误,如图所示:
File "C:\Users\lenovo\Desktop\Emergency-Service\User\index.py", line 30, in signup_page
user_name = request.form['username']
File "C:\Users\lenovo\AppData\Local\Programs\Python\Python39\Lib\site-packages\werkzeug\datastructures.py", line 442, in __getitem__
raise exceptions.BadRequestKeyError(key)
werkzeug.exceptions.BadRequestKeyError: 400 Bad Request: The browser (or proxy) sent a request that this server could not understand.
KeyError: 'username'
【问题讨论】:
-
请阅读Under what circumstances may I add “urgent” or other similar phrases to my question, in order to obtain faster answers? - 总结是这不是解决志愿者的理想方式,并且可能会适得其反。请不要将此添加到您的问题中。
-
@James 的编辑是正确的,请不要这样。
标签: python html flask web oracle-sqldeveloper