在Flask框架中,路由(Routing)是指将Web请求映射到处理这些请求的Python函数的过程。每个路由由一个URL规则和一个与之关联的视图函数组成。当用户访问一个特定的URL时,Flask会根据这个URL找到对应的视图函数,并执行该函数来生成响应。
在Flask中,路由是通过装饰器@app.route()
来定义的。这个装饰器将一个URL规则绑定到一个函数上。例如:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():return "Hello, World!"
@app.route('/user/<username>')
def show_user_profile(username):# 显示用户信息return f"User: {username}"
@app.route('/post/<int:post_id>')
def show_post(post_id):# 显示帖子内容return f"Post: {post_id}"
在上面的例子中:
'/'
是URL规则,它映射到index
函数。当用户访问网站的根目录时,会执行这个函数并返回字符串 “Hello, World!”。'/user/<username>'
是另一个URL规则,它包含一个变量username
。这个规则映射到show_user_profile
函数。当用户访问像/user/john
这样的URL时,john
会被作为参数传递给函数,并且函数会返回 “User: john”。'/post/<int:post_id>'
是一个带有整数转换器的URL规则,它映射到show_post
函数。这个规则意味着post_id
必须是一个整数,Flask会自动将其转换为整数类型。
Flask支持多种类型的转换器,如int
、float
、path
等,以及自定义转换器,这允许开发者定义强大的URL规则来处理不同的请求。
总的来说,在Flask中,路由就是定义哪些URL对应哪些处理函数,以及如何处理URL中的变量部分。这是Web应用程序响应用户请求的方式之一。