zoukankan      html  css  js  c++  java
  • Flask中的route

    1. route的定义:

      客户端发送请求给web服务器,web服务器再将请求发送给Flask程序实例
      程序实例需要知道每个url请求所对应的运行代码是谁。所以程序中必须要创建一个 url 请求地址 到 python运行函数的一个映射。处理url和函数之间的关系的程序就是"路由"

    2.路由的体现
      在 Flask 中,路由是通过 @app.route 装饰器来表示的

      1.路由的基本表示

        # http://localhost:5000/admin/login
         @app.route('/admin/login')
         def admin_login():
         return 'xxx'

      2.指定参数类型的路由以及传参

        # http://localhost:5000/show/zengsf/23
        @app.route('/show/<name>/<int:age>')
        def show(name,age):
          //: name : 字符串
          //: age : 整数

        int: 类型转换器
       Flask 中所支持的类型转换器:
        类型转换器   作用
        缺省              字符串,不能有斜杠('/')
        int:                 整型
        float:             浮点型
        path:             字符串,可以有斜杠('/')

      3.多 URL 的路由匹配
        为多个访问地址匹配同一个视图处理函数
        @app.route('/地址1')
        @app.route('/地址2')
        ... ...
        def index():
        return ""

      4.路由中设置 HTTP 请求方法
        Flask路由也允许设置对应的请求方法(post/get),只有将匹配上请求方法的路径才能交给对应的视图处理函数取处理。所有的路由,默认只接受 get 请求
        @app.route('/xxx/xxx',methods=['POST'])
        def xxx:
          # 该函数只能接受post请求
        pass

        @app.route('/xxx/xxx',methods=['GET','POST'])
        def xxx:
          # 该函数既能接受get请求也能接受post请求
        pass

      5.URL的反向解析
        正向解析:程序自动解析,根据@app.route()中的访问路径,来匹配处理函数

        反向解析:通过视图处理函数的名称自动生成对应的访问路径

        在Flask中要实现反向解析的话需要使用 :
          url_for(funName,args)
          funName:要生成地址的函数名
          args:该地址中需要的参数

        函数:s = url_for(funName,arg1=value1,arg2=value2)

  • 相关阅读:
    P1135 奇怪的电梯题解
    P1443 马的遍历题解
    P2392 kkksc03考前临时抱佛脚题解
    P1219 八皇后问题题解
    IDEA导入/导出live templates或者其他设置
    P3743 kotori的设备题解
    带你看论文丨全局信息对于图网络文档解析的影响
    【“互联网+”大赛华为云赛道】EI命题攻略:华为云EI的能力超丰富,助你实现AI梦想
    【“互联网+”大赛华为云赛道】IoT命题攻略:仅需四步,轻松实现场景智能化设计
    只需6步,教你从零开发一个签到小程序
  • 原文地址:https://www.cnblogs.com/zengsf/p/9932576.html
Copyright © 2011-2022 走看看