Flask路由
路由 Flask
2023-09-11 14:15:14 时间
路由
@app.route("/itcast")
def view_func():
return "hello world"
1 查询路由信息
-
命令行方式
flask routes
Endpoint Methods Rule -------- ------- ----------------------- index GET / static GET /static/
-
在程序中获取
在应用中的url_map属性中保存着整个Flask应用的路由映射信息,可以通过读取这个属性获取路由信息
print(app.url_map)
-
如果想在程序中遍历路由信息,可以采用如下方式
for rule in app.url_map.iter_rules(): print('name={} path={}'.format(rule.endpoint, rule.rule))
需求
通过访问/
地址,以json的方式返回应用内的所有路由信息 【用json返回字符串】
实现
from flask import Flask
import json
app = Flask(__name__)
@app.route('/')
def route_map():
"""
主视图,返回所有视图网址
"""
rules_iterator = app.url_map.iter_rules()
return json.dumps({rule.endpoint: rule.rule for rule in rules_iterator})
app.run()
2 指定请求方式
在 Flask 中,定义路由其默认的请求方式为:
- GET
- OPTIONS(自带) 【简化版的GET请求,用于询问服务器接口信息。比如接口允许的请求方式、允许的请求源头域名】
- HEAD(自带) 【简化版的GET请求。只返回GET请求处理时的响应头,不返回响应体】
利用methods
参数可以自己指定一个接口的请求方式
from flask import Flask
app = Flask(__name__)
@app.route("/a", methods=["POST"])
def view_func_1():
return "hello world 1"
@app.route("/b", methods=["GET", "POST"])
def view_func_2():
return "hello world 2"
app.run()
相关文章
- 学习ASP.NET Core Blazor编程系列十——路由(上)
- asp.net mvc Route路由--忽略路由 routes.IgnoreRoute
- 使用linux系统(PC机)做路由转发
- Flask项目 - 01、项目有关知识 - flask路由查找
- Dubbo下的多版本并行开发测试解决方案(服务路由)
- vue动态路由
- router.beforeEach、路由元信息、导航守卫与函数式编程
- react路由组件&&非路由组件
- 如何使用Container布局容器添加侧边栏(相当于3级路由) (后端返回的数据渲染)?
- Centos7/RHEL 7 配置静态路由
- vue-router路由元信息详解
- IP路由基础
- 华为ENSP之VLAN间路由——完整配置教程(下)
- 使用路由延迟加载 Angular 模块
- 二层交换机当三层交换机,使用单臂路由实现二层交换机上的VLAN互通