【问题标题】:Flask werkzeug.routing.BuildError烧瓶 werkzeug.routing.BuildError
【发布时间】:2017-08-20 22:18:37
【问题描述】:

我正在做一个烧瓶应用程序,当我尝试通过调用放置一个链接以将用户重定向到他的个人资料页面时

BuildError:无法为端点“配置文件”构建 url。你忘了吗 指定值 ['business_name']?

当我尝试登录用户时。我的应用程序在前几天使用相同的代码运行良好,我没有发生什么,我已经尝试了所有可能的方法来解决这个问题,但没有办法

@app.route('/profile/<business_name>')
@login_required
def profile(business_name):
    user = User.query.filter_by(business_name=business_name).first()
    if user == None:
        flash('This Profile does not exist {}'.format(business_name))
        return redirect(url_for('login'))

    return render_template('profile.html',user=user)

(main.html)

<ul class="nav navbar-nav">
    <li><a href="{{ url_for('home_page') }}" class="active">Home</a></li>
    {% if g.user.is_authenticated %}
    <li><a href="{{ url_for('profile', business_name=g.user.business_name) }}">Your Profile</a></li>
    <li><a href="{{url_for('logout')}}">Logout</a></li>

【问题讨论】:

  • 该错误似乎表明business_name 未定义并且可能以null 的形式出现。您确定您的用户已登录(并且不是匿名的)并且business_name 是一个对象吗?

标签: python flask


【解决方案1】:

问题是您没有定义要采用以下形式的路线视图功能:

/profile/business_name

因此,您应该在 URL 中发送 business_name,但您正在向函数发送参数。您应该执行以下操作:

<a href="/profile/{{business_name=g.user.business_name }}">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-10
    • 2021-12-04
    • 2018-10-02
    • 1970-01-01
    • 2016-07-04
    • 2021-05-17
    • 1970-01-01
    • 2019-01-04
    相关资源
    最近更新 更多