5、Flask實戰第5天:頁面跳轉和重定向


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM