Flask web開發之路三
阿新 • • 發佈:2018-03-24
用戶訪問 abc gpo 得到 int bsp -a route ask
今天寫一個URL傳參、反轉URL、頁面跳轉和重定向
URL傳參
主app文件代碼:
from flask import Flask app = Flask(__name__) @app.route(‘/‘) def hello_world(): return ‘Hello World!‘ @app.route(‘/article/<id>‘) def article(id): return ‘您請求的參數是: %s‘ %id if __name__ == ‘__main__‘: app.run()
### url傳參數:
1. 參數的作用:可以在相同的URL,但是指定不同的參數,來加載不同的數據。
2. flask中如何使用參數:
‘‘‘
@app.route(‘/article/<id>‘)
def article(id):
return ‘您請求的參數是: %s‘ %id
‘‘‘
* 參數需要放在兩個尖括號中。
* 視圖函數中需要放和url中的參數同名的參數
反轉URL
首先,正轉是指由URL中的參數得到視圖函數中的內容,那麽反轉就是指從視圖函數得到URL的參數內容
代碼如下:
from flask import Flask,url_for app = Flask(__name__) @app.route(‘/‘) def index(): print(url_for(‘my_list‘)) print(url_for(‘article‘,id =‘abc‘)) return ‘Hello World!‘ @app.route(‘/list/‘) def my_list(): return ‘list‘ @app.route(‘/article/<id>/‘) def article(id): return ‘您請求是id是:%s‘ % id if __name__ == ‘__main__‘: app.run(debug=True)
輸出得到:
註意,這裏article函數,有id參數,在url_for函數中需要傳入參數,否則會報錯
### 反轉url:
1. 什麽叫做反轉url:從視圖函數到URL的轉換叫做反轉url
2. 反轉url的用處:
* 在頁面重定向的時候,會使用url反轉
* 在模板中,也會使用url反轉
頁面跳轉和重定向
代碼如下:
from flask import Flask,redirect,url_for app= Flask(__name__) @app.route(‘/‘) def index(): login_url = url_for(‘login‘) return redirect(login_url) return ‘這是首頁!‘ @app.route(‘/login/‘) def login(): return ‘這是登錄頁面!‘ @app.route(‘/question/<is_login>/‘) def question(is_login): if is_login == ‘1‘: return ‘這是發布問答頁面‘ else: return redirect(url_for(‘login‘)) if __name__ == ‘__main__‘: app.run(debug = True)
這裏實現的功能是:
1.登錄主頁即可跳轉到‘login‘登錄頁面
2.如果‘is_login’這個參數不為1,則會跳轉到登錄頁面
### 頁面跳轉和重定向
1. 用處:在用戶訪問一些需要登錄的頁面的時候,如果用戶滿意登錄,那麽可以讓他重定向到登錄頁面
2.代碼實現:
‘‘‘
from flask import redirect,url_for
redirect(url_for(‘login‘))
‘‘‘
Flask web開發之路三