用url_for構造URL,他接受函數名作爲第一個參數,
也接受對應URL規則的變量部分的命名參數,
未知的變量部分會添加到URL末尾作爲查詢參數。
構建URL而不選擇直接在代碼中拼URL的原因有兩點:
1)在未來有更改的時候只需要一次性修改URL,而不用到處替換;
2)URL構建會轉義特殊字符和Unicode數據,
這些工作不需要我們自己處理。
下面是個例子:
from flask import Flask,url_for
app = Flask(__name__)
@app.route('/example/1/')
def example(id):
pass
with app.test_request_context():
print url_for('example',id=1)
print url_for('example',id=2,next='/')
#text_request_context幫助我們在交互模式下產生請求上下文。
執行結果:
/example/1/?id=1
/example/1/?id=2&next=%2F
歡迎進(Q)羣,幫你解決問題: