0
は私が書いた:/auth/confirm/<token>
なぜFlaskのurl_for()関数がこのエラーを生成しましたか?私は私の最初のテンプレート(a.html)でフラスコを使用する場合、
しかし別で:{{url_for('auth.forget', token=token, _external=True)}}
それが私に与えた
{{url_for('auth.confirm', token=token, _external=True)}}
それは右のサイトを与えましたこのようなサイトは
/auth/forget?token=<token>
どのような違いがありますか?ここ
コード:
@auth.route('/forget', methods=['GET', 'POST'])
def forget():
form=ForgetPasswordForm()
if form.validate_on_submit():
user=User.query.filter_by(email=form.email.data).first()
if user:
token=user.generate_forget_token()
send_email(user.email, 'Reset your password', 'auth/email/forget', token=token)
return redirect(url_for('main.index'))
flash("Email is not exist")
return render_template('auth/forget.html',form=form)
@auth.route('/forget/<token>', methods=['GET', 'POST'])
def forget_reset(token):
try:
email=User.confirm_forget(token)
except:
return render_template('404.html')
form=PasswordOnlyForm()
if form.validate_on_submit():
user=User.query.filter_by(email=email).first()
user.password=form.password.data
db.session.add(user)
db.session.commit()
flash('Succeed, now login!')
return redirect('auth/login')
return render_template('auth/PasswordOnly.html',form=form)
を私は確かに ''を書いてきたが、それは動作しませんか? –
ありがとう!私はこれら2つのエンドポイントの名前を間違えた。 –