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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM