1. 基本变量规则
使用尖括号 < 和 > 来定义一个变量规则,其中的内容会被捕获,并作为参数传递给相应的视图函数。例如:
from flask import Flask
app = Flask(__name__)
@app.route('/user/<username>')
def show_user_profile(username):
return f'User {username}'
在这个例子中,<username> 是一个变量规则,表示可以匹配 URL 中的任何值。当用户访问 /user/john 时,show_user_profile 函数中的 username 参数将被设置为 "john"。
2. 数据类型转换器
Flask 提供了一些内置的数据类型转换器,可以将 URL 中的变量转换为特定的数据类型。例如:
- string(默认):接受任何没有斜杠的文本。
- int:接受正整数。
- float:接受正浮点数。
from flask import Flask
app = Flask(__name__)
@app.route('/user/<string: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}'
在这个例子中,<string:username> 和 <int:post_id> 是数据类型转换器,它们分别将 URL 中的 username 和 post_id 转换为字符串和整数。
3. 多个变量规则
一个路由可以包含多个变量规则。例如:
from flask import Flask
app = Flask(__name__)
@app.route('/user/<username>/<int:user_id>')
def show_user(username, user_id):
return f'User {username}, ID {user_id}'
在这个例子中,路由 /user/<username>/<int:user_id> 包含两个变量规则,分别是 username 和 user_id。当用户访问 /user/john/123 时,show_user 函数中的参数将分别设置为 "john" 和 123。
这是一些关于 Flask 变量规则的基本概念。使用变量规则,你可以创建动态的 URL 结构,更灵活地处理不同情况下的请求。
转载请注明出处:http://www.zyzy.cn/article/detail/7300/Flask