什么是路由?

在 Flask 中,路由是指将 URL 请求映射到特定的函数(视图函数)。通过路由,你可以定义不同路径对应的处理逻辑。

基本语法

@app.route('/路径')
def 函数名():
    return "响应内容"

例如:

@app.route('/hello')
def hello():
    return "Hello, Flask!"

路由装饰器用法

  • @app.route(rule, **options):定义路由规则
  • methods:指定请求方法(如 ['GET', 'POST']
  • endpoint:自定义路由名称

示例:

@app.route('/about', methods=['GET'])
def about():
    return "关于页面"

@app.route('/user/<username>', endpoint='user_profile')
def user_profile(username):
    return f"用户: {username}"

动态路由

使用 <变量名> 捕获 URL 中的参数:

@app.route('/post/<int:post_id>')
def show_post(post_id):
    return f"帖子 ID: {post_id}"

支持的数据类型包括:

  • int:整数
  • string:字符串
  • float:浮点数
  • path:带斜杠的路径
  • uuid:UUID 格式

路由冲突处理

当多个路由规则匹配同一路径时:

  1. 使用 endpoint 显式命名
  2. 通过 strict_slashes 控制是否严格匹配斜杠
  3. 优先级由定义顺序决定

💡 想更深入了解 Flask 基础知识?点击这里 获取入门指南!

Flask_Routing

常见问题

  • Q: 如何处理带参数的路由?
    • A: 使用 <变量名> 捕获参数,如 /user/<username>
  • Q: 路由可以重定向吗?
    • A: 可以通过 redirect() 函数实现,如 redirect('/home')

拓展阅读:Flask 表单处理教程 📚