Flask中的HTTP路由:装饰器与动态URL参数解析

140 阅读2分钟

微信图片_20230808094553.pngFlask是一个轻量级的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的各种功能。