1. 程式人生 > >flask 關於 url_for的解析方式

flask 關於 url_for的解析方式

使用 ack url -c bracket for meta flask 請求

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

flask 關於 url_for的解析方式