【问题标题】:Flask url_for between two files BuildError两个文件之间的烧瓶 url_for BuildError
【发布时间】: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


【解决方案1】:

您的全名拼写不同。在其他一些代码中,您尝试访问“全名”字段。

【讨论】:

  • 这是问题中的拼写错误,现已修正。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-01
  • 1970-01-01
  • 2012-05-06
  • 2013-07-26
相关资源
最近更新 更多