加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

flask开发中遇到werkzeug.routing.BuildError:Could not build u

发布时间:2020-12-17 17:03:20 所属栏目:Python 来源:网络整理
导读:flask开发中遇到werkzeug.routing.BuildError:? Could not build url for endpoint 'main.user' with values ['username']. Did you mean 'auth.user' instead? 错误意思是:无法和端点'main.user'与username的值建立联系,你是不是应该用‘auth.user’代替

flask开发中遇到werkzeug.routing.BuildError:?Could not build url for endpoint 'main.user' with values ['username']. Did you mean 'auth.user' instead?

错误意思是:无法和端点'main.user'与username的值建立联系,你是不是应该用‘auth.user’代替?


这一步是出现在,注册用户成功,页面跳转和未激活用户登陆账号成功后页面跳转出现的。


代码:templated/base.html

{%?extends?"bootstrap/base.html"?%}

{%?block?title?%}Flasky{%?endblock?%}

{%?block?head?%}
{{?super()?}}
<link?rel="shortcut?icon"?href="{{?url_for('static',?filename='favicon.ico')?}}"?type="image/x-icon">
<link?rel="icon"?href="{{?url_for('static',?filename='favicon.ico')?}}"?type="image/x-icon">
{%?endblock?%}

{%?block?navbar?%}
<div?class="navbar?navbar-inverse"?role="navigation">
????<div?class="container">
????????<div?class="navbar-header">
????????????<button?type="button"?class="navbar-toggle"?data-toggle="collapse"?data-target=".navbar-collapse">
????????????????<span?class="sr-only">Toggle?navigation</span>
????????????????<span?class="icon-bar"></span>
????????????????<span?class="icon-bar"></span>
????????????????<span?class="icon-bar"></span>
????????????</button>
????????????<a?class="navbar-brand"?href="{{?url_for('main.index')?}}">Flasky</a>
????????</div>
????????<div?class="navbar-collapse?collapse">
????????????<ul?class="nav?navbar-nav">
????????????????<li><a?href="{{?url_for('main.index')?}}">Home</a></li>
????????????????{%?if?current_user.is_authenticated?%}
????????????????<li>
????????????????????<a?href="{{?url_for('main.user',?username=current_user.username)}}">
?????????????????????????个人资料
????????????????????</a>
????????????????</li>
????????????????{%?endif?%}
????????????</ul>
????????????<ul?class="nav?navbar-nav?navbar-right">
????????????????{%?if?current_user.is_authenticated?%}
????????????????<li?class="dropdown">
????????????????????<a?href="#"?class="dropdown-toggle"?data-toggle="dropdown">账号管理?<b?class="caret"></b></a>
????????????????????<ul?class="dropdown-menu">
????????????????????????<li><a?href="{{?url_for('auth.change_password')?}}">更改密码</a></li>
????????????????????????<li><a?href="{{?url_for('auth.change_email_request')?}}">更改邮箱</a></li>
????????????????????????<li><a?href="{{?url_for('auth.logout')?}}">登出</a></li>
????????????????????</ul>
????????????????</li>
????????????????{%?else?%}
????????????????<li><a?href="{{?url_for('auth.login')?}}">登陆</a>?</li>
????????????????{%?endif?%}
????????????</ul>
????????</div>
????</div>
</div>
{%?endblock?%}

{%?block?content?%}
<div?class="container">
????{%?for?message?in?get_flashed_messages()?%}
????<div?class="alert?alert-warning">
????????<button?type="button"?class="close"?data-dismiss="alert">&times;</button>
????????{{?message?}}
????</div>
????{%?endfor?%}

????{%?block?page_content?%}{%?endblock?%}
</div>
{%?endblock?%}

{%?block?scripts?%}
{{?super()?}}
{{?moment.include_moment()?}}
{%?endblock?%}

出错的代码是:

<a?href="{{?url_for('main.user',?username=current_user.username)}}">

url_for('main.user')

而实际上main/views.py中并且没有这个视图,而我在auth/views.py 有这个视图。

正确方式是:在main.views.py增加以下代码:

@main.route('/user/<username>')
def?user(username):
????user?=?User.query.filter_by(username=username).first_or_404()
????return?render_template('user.html',?user=user)


(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读