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">×</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) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |