Flask是一个轻量级的Python Web框架,其核心功能之一是处理HTTP路由。通过路由装饰器和动态URL参数解析,Flask可以轻松地将URL映射到视图函数,实现灵活的Web应用开发。
路由装饰器****
Flask使用装饰器@app.route()来定义路由。装饰器将URL路径与视图函数关联起来,当用户访问指定路径时,Flask会自动调用对应的视图函数。例如:
python复制代码
| from flask import Flask | |
|---|---|
| app = Flask(name) | |
| @app.route('/') | |
| def home(): | |
| return "Welcome to the Home Page!" | |
| @app.route('/about') | |
| def about(): | |
| return "This is the About Page." |
在上述代码中,/路径映射到home()函数,/about路径映射到about()函数。
动态URL参数解析****
Flask支持动态URL参数,允许在URL中嵌入变量,并在视图函数中解析这些变量。动态参数通过尖括号定义,并在视图函数中作为参数接收。例如:
python复制代码
| @app.route('/user/') | |
|---|---|
| def show_user_profile(username): | |
| return f"User: {username}" | |
| @app.route('/post/int:post_id') | |
| def show_post(post_id): | |
| return f"Post ID: {post_id}" |
· :定义了一个字符串类型的动态参数username,例如访问/user/john时,john会被传递给show_user_profile()函数。
· int:post_id :定义了一个整数类型的动态参数post_id,Flask会自动将URL中的值转换为整数。例如访问/post/42时,42会被转换为整数并传递给show_post()函数。
Flask支持多种数据类型的动态参数,包括string(默认)、int、float和path(类似string,但允许斜杠)。
通过路由装饰器和动态URL参数解析,Flask提供了简洁而强大的路由机制,使得开发者能够快速构建灵活的Web应用。结合视图函数中的逻辑处理,Flask可以轻松实现从简单页面到复杂API的各种功能。