You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Flask中为单个函数设置动态路由实现用户验证?

在Flask中实现用户验证的动态路由

嘿,你要的这种动态路由在Flask里实现起来超简单!核心就是利用Flask的动态URL规则,把用户专属标识作为路由里的变量,就能让同一个视图函数处理所有这类验证请求啦。

具体实现思路

  • 在路由装饰器里用 <变量名> 的语法定义动态部分,比如你需要的 verificationUser 后面跟着用户标识的格式,直接把标识部分写成变量即可
  • 如果你的用户标识是数字类型,还可以给变量加上类型限定(比如 <int:user_id>),这样Flask会自动校验URL里的内容是不是整数,无效请求会直接返回404,更严谨

示例代码

from flask import Flask

app = Flask(__name__)

# 第一种:匹配所有verificationUser开头的路径(支持数字/字符后缀)
@app.route('/verificationUser<user_id>')
def handle_verification(user_id=""):
    # 这里user_id默认是空字符串,能匹配/verificationUser(无后缀)的情况
    return "hello"

# 第二种:只匹配数字后缀的用户标识(更严谨)
@app.route('/verificationUser<int:user_id>')
def handle_verification_int(user_id):
    return "hello"

if __name__ == '__main__':
    app.run(debug=True)

小说明

  • 第一个路由可以匹配 /verificationUser、/verificationUser2、/verificationUserabc 这类所有以verificationUser开头的路径,适合用户标识可能包含非数字的场景
  • 第二个路由只接受数字后缀的请求,比如 /verificationUser1、/verificationUser100,能过滤掉无效的URL
  • Flask会优先匹配更具体的路由,所以如果同时定义了上面两个,数字后缀的请求会先走第二个路由
  • 要是后续需要根据用户ID做验证逻辑,直接在函数里用user_id参数就行,扩展起来很方便

内容的提问来源于stack exchange,提问作者Victor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:13:08