flask 關於 url_for的解析方式


flask 關於 url_for的解析方式

使用url_for()反解析: 即使當路由發生改變時,依然能通過視圖函數訪問對應的路由

1.沒有藍圖管理路由: {{ url_for(' 視圖函數 ', 參數) }}

2.用藍圖管理路由時: {{ url_for(' 藍圖的第一個參數.視圖函數 ', 參數) }}

1.方式一

前端顯示:

<h2> <a href="{{ url_for('index1func',id=1) }}">home頁面--->index1頁面</a></h2>

后端接收:

情況一:

通過定義轉換器 /< >/ 接收,再傳參到視圖函數

該鏈接 請求相當於: 路由地址 /index1/1/
@app.route('/index1/<int:id>/')
def index1func(id):
   print(id)  # 1
   return render_template('index1.html')

 

情況二:

沒有 /<>/ 接收參數時

該鏈接 請求相當於: 路由地址 /index1/?id=1
@app.route('/index1/')
def index1func():
   print()  # 1
   return render_template('index1.html')

 

2.方式二

前端顯示

<h2><a href="{{ url_for('indexfunc') }}?id={{2}}">home頁面--->index1頁面</a></h2>
該鏈接 請求相當於: 路由地址 /index/?id=2

后端接收:

通過 id = request.args.get('id') 來接收

@app.route('/index2/')
def index2func():
   id = request.args.get('id')
   print(id)  # 2

 


免責聲明!

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



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