【发布时间】:2021-09-05 16:23:59
【问题描述】:
我有一个烧瓶应用程序,它是一个登录系统。
我正在尝试将在auth.py 中捕获的全名发送到main.py。为此,我正在这样做:
# auth.py
@auth.route('/login', methods=['POST'])
def login():
fname = request.form.get('fullname')
return redirect(url_for('main.profile', fullname=fname))
# main.py
from flask_login import login_required, current_user
@main.route('/profile/<fullname>')
@login_required
def profile(fullname):
return render_template('profile.html', name=fullname)
但是,当它重定向时,我收到此错误:
werkzeug.routing.BuildError: Could not build url for endpoint 'main.profile'. Did you forget to specify values ['fullname']?
有人知道为什么吗?我没有正确链接我的 url_for 路径吗?
【问题讨论】:
-
表单是否真的返回了一个值?尝试调试检查
fname。 -
所以我去掉了
profile中的变量fullname并在重定向之前打印了 fname 并且它起作用了。所以它一定是return redirect(url_for('main.profile', fullname=fname))或profile route@eagr 的问题
标签: python python-3.x flask flask-login