-1
私は青写真の構造を持つモジュラーアプリを持っています。私は青写真を登録し、彼らは正常に動作しています。FLASK - パラメータ付きの青写真でエンドポイント用のURLを作成できませんでした
werkzeug.routing.BuildError:私は、パラメータを持つなurl_forで問題を抱えています[「トークン」]の値ここ
私のエンドポイントが家であると終点「confirm_email」のURLを構築することができませんでした.py
@home.route('/register',methods=['GET','POST'])
def register():
form = RegistrationForm(request.form)
print(form, file=sys.stderr)
print(form.email, file=sys.stderr)
if request.method == 'POST' and form.validate():
u = User(
email = form.email.data,
password = form.password.data
)
email_ddbb = User.query.filter_by(email=form.email.data).first()
# we register the user
if email_ddbb is None:
# Now we'll send the email confirmation link
subject = "Confirm your email"
token = ts.dumps(u.email, salt='email-confirm-key')
print(url_for('user.activate',token=token,_external=True))
confirm_url = url_for('user.activate',token=token,_external=True)
html = render_template('mail/activate.html', confirm_url=confirm_url)
# we send the email from utils.py
send_email(u.email, subject, html)
db.session.add(u)
db.session.commit()
flash('Thanks for registering, please check your inbox')
return redirect(url_for('home.index'))
else:
flash('Email already in use')
return redirect(url_for('home.index'))
#TODO MUST BE UNIQUE
else:
flash('Please enter a valid email address')
return redirect(url_for('home.index'))
、ここuser.py
@user.route('/confirm/<token>')
def activate(token):
try:
email = ts.loads(token, salt="email-confirm-key", max_age=86400)
except:
abort(404)
user = User.query.filter_by(email=email).first_or_404()
user.verified = True
db.session.add(user)
db.session.commit()
return redirect(url_for('home.index'))
内の他のエンドポイントであります
私は、データベースにエラーが発生する前のユーザーをコミットし、私が訪問した場合**手動**印刷URL(すなわちのhttp:/ /127.0.0.1:5000/confirm/ImFzZGZAYXNkZi5jb20i.C-xnqg.4Hb4DU4b-Txiy3v7yhNdW6-beUE)それは動作します – jmrueda
app.url_mapエンドポイントを確認し、まだ手掛かりはありません'(HEAD、GET、POST、OPTIONS ) - > user.activate>、 –
jmrueda