flask 路径
时间: 2023-07-09 14:14:50 浏览: 40
在 Flask 中,路径是通过路由定义的。路由是指 URL 和函数之间的映射关系,用于处理 HTTP 请求。
在 Flask 中,路由可以使用 `route` 装饰器来定义。`route` 装饰器接受一个字符串参数,用于指定路由的路径。例如:
```python
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Hello, World!'
```
这个简单的 Flask 应用定义了一个路由 `/`,它将请求根路径映射到名为 `index` 的函数。当用户访问网站的根目录时,就会执行 `index` 函数并返回 `Hello, World!`。
除了根路径,路由还可以包含变量。变量可以通过 `<variable_name>` 的形式指定,例如:
```python
@app.route('/user/<username>')
def show_user_profile(username):
return f'User {username}'
```
这个路由将匹配类似 `/user/alice`、`/user/bob` 等路径,并将变量 `username` 传递给 `show_user_profile` 函数。
路由还可以包含多个变量,例如:
```python
@app.route('/user/<username>/<int:user_id>')
def show_user_profile(username, user_id):
return f'User {username} ({user_id})'
```
这个路由将匹配类似 `/user/alice/123`、`/user/bob/456` 等路径,并将变量 `username` 和 `user_id` 传递给 `show_user_profile` 函数。
Flask 还支持使用正则表达式限制变量的格式,例如:
```python
@app.route('/post/<int:post_id>')
def show_post(post_id):
return f'Post {post_id}'
```
这个路由将匹配类似 `/post/123`、`/post/456` 等路径,但不会匹配 `/post/abc` 等非整数路径。
总之,Flask 中的路由非常灵活,可以实现各种各样的 URL 匹配方式。