什么是路由?
在 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 格式
路由冲突处理
当多个路由规则匹配同一路径时:
- 使用
endpoint
显式命名 - 通过
strict_slashes
控制是否严格匹配斜杠 - 优先级由定义顺序决定
💡 想更深入了解 Flask 基础知识?点击这里 获取入门指南!
常见问题
- Q: 如何处理带参数的路由?
- A: 使用
<变量名>
捕获参数,如/user/<username>
。
- A: 使用
- Q: 路由可以重定向吗?
- A: 可以通过
redirect()
函数实现,如redirect('/home')
。
- A: 可以通过
拓展阅读:Flask 表单处理教程 📚