阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

视图概述与路由

378次阅读
没有评论

共计 1539 个字符,预计需要花费 4 分钟才能阅读完成。

一、视图概述

  • 作用

    接收 web 请求并返回 web 响应

  • 本质

    python 的函数

  • 使用

    先定义视图再匹配路由

二、路由

  • 概述

    请求地址会被底层 Werkzeug 库处理 (去除 ip 和端口),用于进行路由匹配,匹配成功后将找打的视图函数进行调用,处理本次用户的请求

  • 格式

    • @工程对象.route(“url 地址”)
    • @蓝图对象.route(“url 地址”)
  • url_map 属性

    功能:查看当前所有的路由配置

    使用:app.url_map

  • 无参路由

    @app.route('/index/') def index(): return 'Hello Flask'
  • 传参路由

    A、带一个参数的路由

    # 带参路由,参数写在 <> 中 @app.route('/arg/<name>') def arg(name): return 'Hello %s !' % name

    B、带多个参数的路由

    @app.route('/args/<name>_<age>') @app.route('/args/<name>/<age>') def args(name, age): print(name, age) return name, age

    C、参数类型限制

    • string 默认 参数类型为字符串
    • int 限制参数类型为整数
    • float 限制参数类型为小数
    • path 其实也是字符串,只是’/’ 不再是分隔符
    @app.route('/welcome/<string:name>/<int:age>/<float:height>/<path:pstr>/') def welcome(name, age, height, pstr): print(type(name),type(age), type(height), type(pstr)) print(name, age, height, pstr) return '类型限制'

    注意:

    • 路由末尾的’/’ 建议都加上,因为路由需要的时候浏览器会自动加上,输入时加不加都行
    • 若需要制定参数,将参数写在 <> 中,视图函数参数要与路由参数一致
    • 若需要知道参数类型,如:int/float/path 等,写在参数前,用’:’ 与参数隔开
    • 不指定类型,参数默认是 string,path 其实也是字符串,只是’/’ 不再是分隔符

    D、正则约束

    • 作用

      使用正则表达式对路由进行更具体的约束

    • 正则转换类(app.py)

      from werkzeug.routing import BaseConverter class RegexConverter(BaseConverter): def __init__(self, url, *args): super().__init__(url) self.regex = args[0]
    • 给 app 对象注册路由转换类

      app.url_map.converters["regex"] = RegexConverter
    • 使用

      @app.route("/test_regex/<regex('\d{2}'):age>/") def test_regex(age): # 正则约束是约束的值的样子,不会约束类型 print(age) return age
  • HTTP 方法

    概述:默认视图可以被 GET 访问,flask 中可以规定以什么样的方式请求视图,如果使用不正确的请求方式会返回 405 错误

    GET

    @app.route("/get/") def test_get(): return "GET"

    POST

    @myApp.route("/post/", methods=["POST"]) def test_post(): return "POST"

    GET OR POST

    @myApp.route("/get_post/", methods=["GET", "POST"]) def test_get_post(): return "test_get_post"
  • http 请求方式

    • get
    • post
    • put
    • patch
    • delete

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-05-26发表,共计1539字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7806031
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
CSDN,你是老太太喝粥——无齿下流!

CSDN,你是老太太喝粥——无齿下流!

CSDN,你是老太太喝粥——无齿下流! 大家好,我是星哥,今天才思枯竭,不写技术文章了!来吐槽一下 CSDN。...
星哥带你玩飞牛NAS-5:飞牛NAS中的Docker功能介绍

星哥带你玩飞牛NAS-5:飞牛NAS中的Docker功能介绍

星哥带你玩飞牛 NAS-5:飞牛 NAS 中的 Docker 功能介绍 大家好,我是星哥,今天给大家带来如何在...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024 程序员】我劝你赶紧去免费领一个 AWS、华为云等的主机 每年 10 月 24 日,程序员们都会迎来...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...
星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...
Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集 在云原生体系中,Prometheus 已成为最主流的监控与报警...