Flask中的 url_for() 函数
最近在學Python Flask框架,并且學會做一些簡單的項目,如做一個網(wǎng)站的登錄頁面等,其中學到了一個路由反向解析的函數(shù)?url_for(),這里做一個小結(jié),供日后復(fù)習。
1.URL反轉(zhuǎn):根據(jù)視圖函數(shù)名稱得到當前所指向的url
2.url_for() 函數(shù)最簡單的用法是以視圖函數(shù)名作為參數(shù),返回對應(yīng)的url,還可以用作加載靜態(tài)文件,如:
<link rel="stylesheet" href="{{url_for('static',filename='css/index.css')}}">
該條語句就是在模版中加載css靜態(tài)文件.?
原因:
app.url_map有static靜態(tài)路由
<Rule '/static/<filename>' (HEAD, OPTIONS, GET) -> static>])
即可通過url_for()反向解析url,配合jinja2引擎 生成正確的rel
3.url_for 和 redirect 區(qū)別
url_for是用來拼接 URL 的;
可以使用程序 URL 映射中保存的信息生成 URL。url_for() 函數(shù)最簡單的用法是以視圖函數(shù)名作為參數(shù), 返回對應(yīng)的 URL。例如,在示例程序中 hello.py 中調(diào)用 url_for('index') 得到的結(jié)果是 /。
redirect 是重定向函數(shù),輸入一個URL后,自動跳轉(zhuǎn)到另一個URL所在的地址,例如,你在函數(shù)中寫?return redirect('https://www.baidu.com')?頁面就會跳轉(zhuǎn)向百度頁面。
#encoding: utf-8from flask import Flask,redirect,url_forapp = Flask(__name__)@app.route('/') def index():login_url = url_for('login')return redirect(login_url)return u'這是首頁'@app.route('/login/') def login():return ?u'這是登陸頁面'@app.route('/question/<is_login>/') def question(is_login):if is_login == '1':return ?u'這是發(fā)布問答的頁面'else:return ?redirect(url_for('login')) #重定向到login頁面 /login/ if __name__ == '__main__':app.run(debug=True)
?
總結(jié)
以上是生活随笔為你收集整理的Flask中的 url_for() 函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python身份证验证程序_python
- 下一篇: 三星android p内测,两年前老机重