0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Flask两种配置路由的方式说明

PLC工控专栏 来源:PLC工控专栏 作者:PLC工控专栏 2022-05-31 08:43 次阅读

加工中心解锁面板 Flask提供了两种方式配置路由,第一种方式是使用装饰器@app.route(uri, methods)的方式,其中uri是指具体的路径,methods是一个列表,值得是可以处理的请求类型如GET、POST等。

第二种方式是通过Flask实例调用add_url_rule函数配置

app.add_url_rule(uri, uri_alias, view)
复制代码

该函数的参数中uri是指具体的uri地址,uri_alias是指uri的别名,view是指对应的视图函数的名字

使用第二种方式配置路由

# 其余代码不变
@app.route('/')
def index():
    info = {
        'message': "这是存在message变量中的信息"
    }
    return render_template('index.html', info=info)
    
# 使用第二种方式给index()视图函数配置路由
app.add_url_rule('/index', 'index', index)
复制代码

"/"和"/index"都可以映射到index()视图函数上

路径参数设置和获取

URL路径中可以进行参数的传递,Flask中URL参数的类型

  • string:接收任何不包含斜杠的问题本
  • int:接收正整数
  • float:接收浮点数
  • path:类似string,但可以包含斜杠
  • uuid:接收uuid字符串

在app.py中定义一个视图函数

@app.route('/page/')
def list(page_number):
    return '这是第{}页用户'.format(page_number)
复制代码

重启应用,访问 http://127.0.0.1:5000/page/100

定义路径中的参数时要定义参数的名字以及类型,书写视图函数时要将参数的名字作为视图函数的参数,这可以就可以通过参数名直接获取到URL传递的参数的值

如果参数是非必填的可以设置参数的默认值

@app.route('/page/')
@app.route('/page/')
def list(page_number=1):
    return '这是第{}页用户'.format(page_number)
复制代码

重启应用,访问 http://127.0.0.1:5000/page/

url_map 属性

Flask实例的url_map属性包含了所有的视图函数以及对应的URL地址

image.png

Flask 请求

上下文对象context,类似容器,存储了一些关键信息

  • 应用上下文
  • 请求上下文
  • 在分派请求之前激活应用上下文和请求上下文
  • 请求处理完之后将其删除

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 路由
    +关注

    关注

    0

    文章

    266

    浏览量

    41507
  • 函数
    +关注

    关注

    3

    文章

    3859

    浏览量

    61296
  • flask
    +关注

    关注

    0

    文章

    16

    浏览量

    3568
收藏 人收藏

    评论

    相关推荐

    变频器的两种无速度传感器矢量控制模式有什么区别?

    在变频器控制模式中,有无速度矢量传感器模式,该模式又分为两种,无感矢量0和无感矢量1,这两种模式的本质原理是什么?对变频器的控制电机性能和系统稳定性响应什么的有什么影响?具体应用上哪种方式更好一点,或者而言这
    发表于 02-22 21:45

    华为路由器BGP基础配置实验记录

    配置BGP的前提是要保证各个自治区域的路由均可达,所以要首先在AS 2 配置OSPF使AS 2 通畅,然后再配置BGP。由于BGP的路由黑洞
    发表于 01-06 10:07 164次阅读
    华为<b class='flag-5'>路由</b>器BGP基础<b class='flag-5'>配置</b>实验记录

    配置Kubernetes中Pod使用代理的两种常见方式

    的需要。本文将介绍配置Kubernetes中Pod使用代理的两种常见方式:通过ConfigMap和直接在应用程序环境变量中设置。
    的头像 发表于 01-05 11:22 386次阅读
    <b class='flag-5'>配置</b>Kubernetes中Pod使用代理的<b class='flag-5'>两种</b>常见<b class='flag-5'>方式</b>

    路由器负载均衡怎么配置

    路由器负载均衡是一种重要的网络技术,它能够将多个网络连接的流量分配到多个路由器上,以提高网络的性能和稳定性。本文将详细介绍路由器负载均衡的配置方法,包括负载均衡的实现
    的头像 发表于 12-13 11:17 1164次阅读

    Cisco配置静态路由

    Cisco配置静态路由
    的头像 发表于 12-03 09:43 328次阅读
    Cisco<b class='flag-5'>配置</b>静态<b class='flag-5'>路由</b>

    使用HMC952时,电源有两种VDD和VGG,其中VDD为直流供电那么VGG是干嘛用的?

    使用HMC952时,电源有两种VDD和VGG,其中VDD为直流供电,5或者6V,,那么VGG是干嘛用的接地还是啥?产品说明只有让接旁路电容,,没有供电说明
    发表于 11-13 13:09

    串口接收数据的两种方式是什么

    上方是发送数据的例子,那么串口接收又该如何配置,又要在串口发送的例子上做哪些更改呢? 这里我们可以通过查询或者中断的方式来进行接收数据的两种方式。 查询
    的头像 发表于 11-10 16:20 885次阅读
    串口接收数据的<b class='flag-5'>两种</b><b class='flag-5'>方式</b>是什么

    avr单片机两种烧写程序方式的区别?

    最近在做一个单片机程序,有点疑问,用avrstudio烧程序接的是avrdragon,用ISPUSB是另外一个软件,这两种烧程序有什么区别?者过程都是先写熔丝,写flash,写eeprom;我试着用ISPUSB连avrsrudio,没有选择成功,有点疑惑。
    发表于 11-10 07:41

    Flask如何升级到 Quart 应用程序

    本文详细介绍了典型的生产环境的 CRUD 应用程序从 Flask 到 Quart 的转换,并展示相关的性能改进优势。 将这个 Flask-pyscopg2 应用程序升级到 Quart-asyncpg
    的头像 发表于 11-01 16:23 315次阅读
    <b class='flag-5'>Flask</b>如何升级到 Quart 应用程序

    DC-DC和LDO两种供电模式有什么优缺点?

    给单片机供电的电路经常见到DC-DC 和 LDO 两种供电方式,这个选型上有什么规律吗,各有什么样的优缺点
    发表于 11-01 06:43

    常见的ARM架构分为两种是M系列另外一是A系列,这两种有什么区别啊?

    现在市面上常见的ARM架构分为两种是M系列另外一是A系列,这两种有什么区别啊,用的时候他们一般分别用在什么地方啊。
    发表于 10-26 07:00

    静态路由是什么?静态路由如何配置

    静态路由是一种路由方式路由项由手动配置,而非动态决定。与动态路由不同,静态
    的头像 发表于 10-07 10:48 5640次阅读
    静态<b class='flag-5'>路由</b>是什么?静态<b class='flag-5'>路由</b>如何<b class='flag-5'>配置</b>?

    华为设备配置单臂路由

    单臂路由是指在路由器上的一个物理接口通过配置子接口(逻辑接口)的方式,实现原来相互隔离的不同VLAN之间的互联互通。路由器的物理接口可以被划
    的头像 发表于 06-19 09:38 1313次阅读
    华为设备<b class='flag-5'>配置</b>单臂<b class='flag-5'>路由</b>

    在PADS中怎么放置两种不同孔径的过孔啊?

    在PADS中怎么放置两种不同孔径的过孔啊?
    发表于 04-28 16:45