上一節說的是沒有參數的url_for,如果沒有參數,可以直接url_for('函數名')
那如果我們構造的函數是:
@app.route('/login/<page_id>/')
def login(page_id): return u'登錄頁面'
這時候url_for該怎么傳呢?
我們先來看一下url_for的源碼:
我們注意到url_for可以傳“兩個”參數:
-
endpoint:結束點,即我們傳的函數名
-
**values:關鍵字參數即key=value形式
那我們現在就知道該怎么辦了:
# coding: utf-8
from flask import Flask, url_for
import flask app = Flask(__name__) # type: Flask
app.debug = True
# 根目錄@app.route('/')
def hello_world(): return 'Hello World!'
@app.route('/login/<page_id>/')
def login(page_id): return u'登錄頁面'
@app.route('/list/')
def mylist(): return url_for('login', page_id=1)
if __name__ == '__main__': app.run()
我們只需要像上面代碼里一樣,給url_for多傳遞一個參數即可,保存(Ctrl+s 以后不再強調了)以后,來到頁面可以看到:
再提醒大家一次,手機閱讀時候代碼是可以左右滑動的哦~~
請關注微信公眾號:自動化測試實戰,查看圖片及最新文章