在 Flask 中,路由中的变量规则允许你定义动态的 URL。这使得你可以从 URL 中提取信息,并将其传递给相应的视图函数。以下是一些关于 Flask 变量规则的基本概念:

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