1

这是代码

@app.route('/account/<user_id>', methods = ["GET", "POST"])
@login_required
def user(user_id):
    user = User.query.filter_by(id = user_id).first()
 ...
return render_template('template.html')

例如,如果有人手动输入
htp://localhost/user/aaa,则会引发错误。如何在引发错误之前检查用户 ID 是否为 int?在生产服务器上,它可能会抛出服务器错误,但最好只抛出 403 禁止错误。

谢谢!

4

1 回答 1

4

使用int转换器:

@app.route('/account/<int:user_id>', methods = ["GET", "POST"])
@login_required
def user(user_id):
    user = User.query.filter_by(id = user_id).first()
    ...
    return render_template('template.html')

另请参阅文档:http ://werkzeug.pocoo.org/docs/routing/#builtin-converters 。

于 2013-07-08T20:23:54.020 回答