python / flask使用url_for构建错误,额外无

时间:2014-05-14 23:29:49

标签: python flask jinja2 url-for

我无法弄清楚额外None的来源。我尝试过这些链接无效:Build error with variables and url_for in Flask how to use Flask Jinja2 url_for with multiple parameters

此外,我使用BluePrint

以下是我的users.html模板:

<a href="{{ url_for('user_page', user_id=user.user_id) }}"> {{ user.name }} </a>

以下是我尝试过的两个user.py个文件:

@app.route('/user')
def user_page():
    args = show_user_parser.parse_args()
    user_id = args['user_id']
    return page_for_user(user_id)

@app.route('/user/<user_id>')
def user_page(user_id):
    return page_for_user(user_id)

def page_for_user(user_id):
   try:
       cur.execute(list_user_detailed_query, (user_id,))
   except psycopg2.OperationalError:
       return render_template('error.html')
   except psycopg2.IntegrityError:
       connection.rollback()
       return render_template('error.html')
   data = cur.fetchone()
   return render_template('user.html',
                          name=data['name'],
                          email=data['email'],
                          undergrad=data['undergrad'],
                          cv=data['cv'])

以下是构建错误:

BuildError: ('user_page', {'user_id': '1'}, None)

1 个答案:

答案 0 :(得分:1)

你已经命名了你的路线&#34; user_page&#34;,所以我敢打赌第一个(没有参数)是胜利,当你尝试用参数构建一个url时它失败了。重命名功能,使它们不同,并且应该修复它。