Python 路线和视图

Python 路线和视图,python,flask,Python,Flask,基本上,我试图创建一个视图,让用户更新他的密码 代码如下 @app.route('/update_login_info/<password>',methods=['GET','POST']) def update_login_info(password): form = forms.UpdateLoginForm() if form.validate_on_submit(): try: query=models.User.update(pas

基本上,我试图创建一个视图,让用户更新他的密码

代码如下

@app.route('/update_login_info/<password>',methods=['GET','POST'])
def update_login_info(password):
   form = forms.UpdateLoginForm()
   if form.validate_on_submit():
      try:
         query=models.User.update(password=models.generate_password_hash(form.new_password.data),)
         query.execute()
         flash("login info updated","success")
         return redirect(url_for('login'))
      except:
         flash("error updating login info","error")
         return redirect(url_for('login'))
   return render_template('update_login_info.html',form=form)  
@app.route('/update\u login\u info/',方法=['GET','POST']
def更新\登录\信息(密码):
form=forms.UpdateLoginForm()
if form.validate_on_submit():
尝试:
query=models.User.update(password=models.generate\u password\u hash(form.new\u password.data),)
query.execute()
flash(“登录信息更新”、“成功”)
返回重定向(url_用于('login'))
除:
flash(“更新登录信息时出错”,“错误”)
返回重定向(url_用于('login'))
返回呈现模板('update\u login\u info.html',form=form)
每次我到达路线时,我都会抛出一个404,我不知道为什么

当用户单击电子邮件中的链接时,路由如下所示
$2a$12$HdJJbOUwALvtUjrlKhIrYeJdMO3nws0hAQ94/6I/dU8IaSAtdU6W6使用路径转换器接受斜杠:

@app.route('/update_login_info/<path:password>',methods=['GET','POST'])
@app.route('/update\u login\u info/',方法=['GET','POST']

您的链接不应被识别为有效的路由,因为它包含特殊字符,如零件中的斜杠。谢谢Timo,我想可能是特殊字符。现在将其更改为将用户id作为查询字符串传递,并且它可以工作。我传递的不是斜杠,而是查询字符串中的特殊字符。现在可以用了谢谢