1. Flask路由基础概念与核心作用
Flask作为Python生态中最流行的轻量级Web框架之一,其路由系统是整个请求处理流程的核心枢纽。路由(Routing)本质上是建立URL与处理函数之间的映射关系,它决定了当用户访问特定路径时,哪个视图函数将被调用以生成响应。
1.1 路由的基本工作原理
当Flask应用收到HTTP请求时,路由系统会按照以下流程工作:
- URL匹配阶段:Flask遍历所有已注册的路由规则,寻找与请求URL匹配的路径模式
- 变量提取阶段:对于动态路由,提取URL路径中的变量部分(如
/user/<username>中的username) - 视图调用阶段:调用匹配路由对应的视图函数,传入提取的变量作为参数
- 响应生成阶段:将视图函数返回值转换为HTTP响应发送给客户端
python复制from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return "Welcome to the homepage!"
@app.route('/about')
def about():
return "About our company"
1.2 路由装饰器的核心参数
@app.route()装饰器支持多个关键参数来定制路由行为:
methods: 指定路由接受的HTTP方法,默认为['GET']
python复制@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
# 处理登录表单提交
else:
# 显示登录表单
endpoint: 显式指定路由端点名称(默认使用视图函数名)
python复制@app.route('/products', endpoint='product_list')
def show_products():
# ...
defaults: 为URL变量提供默认值
python复制@app.
