Flask 框架学习 (二 、路由)
2020-04-22 12:35
351 查看
查询路由信息
- 命令行方式
flask routes
- 在程序中获取
print(app.url_map)
- 如果想在程序中遍历路由信息,可以采用如下方式
for rule in app.url_map.iter_rules(): # rule.endpoint 视图函数的name # rule.rule 路由地址 print('name={} path={}'.format(rule.endpoint, rule.rule))
- 同一路由可以装饰多个视图函数
- 同一视图多个路由装饰器
- 利用methods限制访问方式
指定请求方式
- 在 Flask 中,定义路由其默认的请求方式为
----------------- GET
------------------OPTIONS(自带)
----------------- HEAD(自带) - methods参数可以指定的请求方式 如 GET,POST
@app.route("/index", methods=["GET"]) def index(): return "hello world"
使用url_for进行反解析
from flask import Flask, redirect, url_for # 创建flask的应用对象 # __name__表示当前的模块名字 app = Flask(__name__) @app.route("/login", methods=["GET"]) def login(): # 使用 url_for 的函数,通过视图的名字找到对应的url路径 url = url_for("index") return redirect(url) #重定向到/index
URL路径参数(动态路由)即转换器
- <>即是一个转换器,默认为字符串类型,即将该位置的数据以字符串格式进行匹配、并以字符串为数据类型类型
@app.route("/drwa/<int:id>", methods=["GET"]) def drwa(id): return "传递的参数是:%d" % id
- Flask也提供其他类型的转换器
常用有
DEFAULT_CONVERTERS = { 'default': UnicodeConverter, 'string': UnicodeConverter, 'any': AnyConverter, 'path': PathConverter, 'int': IntegerConverter, 'float': FloatConverter, 'uuid': UUIDConverter, }
- 自定义转换器
# 自定义转换器 必须要继承BaseConverter类 from werkzeug.routing import BaseConverter class MobileConverter(BaseConverter): """手机号格式""" regex = r"1[3-9]\d{9}" # 注意 regex 名字固定 # 将自定义的转换器添加到转换器字典中,并指定转换器使用时的名字为:mobile app.url_map.converters["mobile"] = MobileConverter @app.route("/mobile/<mobile:mobile_num>") def mobile(mobile_num): return "传递的手机号码是:{}".format(mobile_num)
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Python框架学习之Flask中的视图及路由
- python-flask框架学习笔记(一)--route(路由)
- Flask框架学习笔记之路由和反向路由详解【图文与实例】
- 三十一、python学习之Flask框架(三)视图:路由、上下文、Flask-Script扩展
- python web开发之flask框架学习(2) 加载模版
- 学习ASP.NET MVC5框架揭秘笔记-ASP.NET路由(一)
- Flask框架的学习指南之制作简单blog系统
- CodeIgniter框架源码学习之路由类--Router.php
- python web开发之flask框架学习(1) 创建flask项目
- 《Laravel5.2学习笔记---框架目录介绍及路由》
- PHP codeigniter 框架编程学习之【URI路由】
- 学习ASP.NET MVC5框架揭秘笔记-ASP.NET路由(十一)
- 学习flask框架涉及到的四种session
- flask web框架学习(六、模板)
- Flask框架学习笔记之模板操作实例详解
- python基础学习-flask web框架
- Flask框架学习小总结
- 学习ASP.NET MVC5框架揭秘笔记-ASP.NET路由(九)
- web框架-flask方式添加路由
- python学习之Flask框架:四个Session理解