11 Flask URL 规则实战

11 Flask URL 规则实战

在 Flask 中,URL 规则是路由系统的核心部分,它允许我们将 URL 映射到视图函数。通过 URL 规则,我们可以定义如何响应特定的 URL 请求。我们将通过几个案例来深入了解 Flask 的 URL 规则。

基本的 URL 规则

Flask 使用“装饰器”语法来定义 URL 规则。我们先来看一个简单的例子:

1
2
3
4
5
6
7
8
9
10
from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
return '欢迎来到主页'

if __name__ == '__main__':
app.run(debug=True)

在上面的代码中,@app.route('/') 定义了 URL 规则 /,它会将根 URL 映射到 home 函数。

URL 变量

URL 变量允许我们在 URL 中定义动态部分。例如,我们可以创建一个用户资料页,URL 中包含用户名。

1
2
3
@app.route('/user/<username>')
def show_user_profile(username):
return f'用户:{username}'

在这个例子中,当用户访问 /user/john 时,show_user_profile 函数会接收到 'john' 作为 username 参数。

类型转换

Flask 还支持类型转换,可以通过在变量名后面加上冒号来指定变量类型。支持的类型包括 intfloatpath 等。

1
2
3
@app.route('/post/<int:post_id>')
def show_post(post_id):
return f'帖子 ID:{post_id}'

访问 /post/1 会返回 帖子 ID:1,而访问 /post/abc 则会返回错误 404。

可选参数

可以使用 defaults 选项来定义可选参数,实现更灵活的 URL 规则。

1
2
3
4
@app.route('/greet', defaults={'name': '客人'})
@app.route('/greet/<name>')
def greet(name):
return f'你好,{name}!'

在这个案例中,访问 /greet 会返回 你好,客人!,而访问 /greet/Alice 会返回 你好,Alice!

组合 URL 规则

Flask 还支持组合多个 URL 规则,这样可以使得不同 URL 响应同一视图函数。

1
2
3
4
@app.route('/about')
@app.route('/about-us')
def about():
return '关于我们'

无论是访问 /about 还是 /about-us,都会返回 关于我们

结束语

通过以上实例,我们对 Flask 中的 URL 规则有了基本了解。URL 规则是构建 Flask 应用的基础,灵活运用它能极大提升应用的可用性与维护性。在实际开发中,合理地设计 URL 结构是至关重要的。

11 Flask URL 规则实战

https://zglg.work/flask/11/

作者

AI教程网

发布于

2024-08-08

更新于

2024-08-10

许可协议