GET和POST請求
在網絡請求中有許多請求方式,比如GET, POST, DELETE, PUT等,最常用的就是GET和POST
GET
只會在服務器上獲取資源,不會更改服務器的狀態,這種請求方式推薦使用GET
GET請求把參數放到url中,通過’?xx=xxx‘的形式傳遞
POST
給服務器提交一些數據或者文件,一般POST請求是會對服務器的狀態產生影響
POST請求把參數放到Form Data中
在flask的route中默認使用的是get方法,用method參數來指定某個url能夠使用的方法
@app.route('/list/', methods=['get', 'post']) def my_list(): return 'list'
永久重定向301
http的狀態碼是301,多用於舊網址被廢棄了要轉到一個新的網址確保用戶的訪問,比如京東的網站,你輸入www.jingdong.com的時候,會被重定向到www.jd.com,因為jingdong.com這個網址已經被廢棄了,被改成了jd.com,所以這種情況下應該使用永久重定向
臨時重定向302
http的狀態碼是302,表示頁面的臨時性跳轉。比如訪問一個需要權限的網址,如果用戶沒有登錄,應該重定向到登錄頁面,這種情況下,應該用臨時重定向
在flask中,重定向是通過flask.redict(location, code=302)函數來實現的
location表示需要重定向到的URL,應該配合url_for()函數來使用
code表示采用哪種重定向,默認是302(臨時重定向),也可以改成301來實現永久重定向
from flask import Flask, url_for, request, redirect ... @app.route('/login/', methods=['GET', 'POST']) def login(): return 'login page' @app.route('/profile/', methods=['GET', 'POST']) def profile(): name = request.args.get('name') if not name: return redirect(url_for('login')) else: return name