摘要:類有一個方法當我們調用它時它會返回一個響應對象并且按指定的狀態碼將用戶重定向到另一個位置方法的原型如下在上面的函數中我們要重定向的位置狀態碼會在頭中發送給瀏覽器默認為用這個參數來初始化響應對象下面是一些標準的狀態碼重定向的狀態碼默認是也就是
Flask類有一個redirect()方法. 當我們調用它時, 它會返回一個響應對象并且按指定的狀態碼將用戶重定向到另一個位置.
redirect()方法的原型如下:
Flask.redirect(location, statuscode, response)
在上面的函數中,
location 我們要重定向的URL位置
statuscode 狀態碼會在http頭中發送給瀏覽器, 默認為302
response 用這個參數來初始化響應對象
下面是一些標準的狀態碼:
HTTP_300_MULTIPLE_CHOICES
HTTP_301_MOVED_PERMANENTLY
HTTP_302_FOUND
HTTP_303_SEE_OTHER
HTTP_304_NOT_MODIFIED
HTTP_305_USE_PROXY
HTTP_306_RESERVED
HTTP_307_TEMPORARY_REDIRECT
重定向的狀態碼默認是302, 也就是已找到(found).
在下面的例子中, redirect()方法用于當登錄失敗的時候再次展示登錄頁面.
from flask import Flask, redirect, url_for, render_template, request # Initialize the Flask application app = Flask(__name__) @app.route("/") def index(): return render_template("log_in.html") @app.route("/login",methods = ["POST", "GET"]) def login(): if request.method == "POST" and request.form["username"] == "admin" : return redirect(url_for("success")) return redirect(url_for("index")) @app.route("/success") def success(): return "logged in successfully" if __name__ == "__main__": app.run(debug = True)
Flask類有個abort()方法, 參數包括一個錯誤狀態碼.
Flask.abort(code)
400 錯誤請求
401 未授權請求
403 禁止
404 找不到資源
406 不可接受
415 未知媒體類型
429 太多請求
我們來對上面代碼中的login()函數做一點修改. 如果我們在登錄失敗時不重新展示登錄頁, 而是展示"未授權"頁面, 那么我們需要把重定向那行代碼替換為abort(401).
from flask import Flask, redirect, url_for, render_template, request, abort app = Flask(__name__) @app.route("/") def index(): return render_template("log_in.html") @app.route("/login",methods = ["POST", "GET"]) def login(): if request.method == "POST": if request.form["username"] == "admin" : return redirect(url_for("success")) else: abort(401) else: return redirect(url_for("index")) @app.route("/success") def success(): return "logged in successfully" if __name__ == "__main__": app.run(debug = True)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/40903.html
摘要:獲取成為開發專家的技巧。我們可以在兩個文本框輸入筆記的標題和內容。在本教程中,我們將使用一個名為的工具。它是一個火狐瀏覽器的擴展,我們可以使用它管理數據庫。安裝,打開火狐瀏覽器,點擊,然后點找到的文件夾圖標并點擊它。 showImg(https://cdn-images-1.medium.com/max/600/1*Ou6FFJJD3zhcIUU8wBZqIw.png); 教程譯文首發...
摘要:跟不同會話數據存儲于服務器上會話是指一個客戶在一個服務上從登錄到注銷之間的時間段會話中需要存儲的會話數據儲存在服務器上的一個臨時目錄中每個會話都被分配了一個會話會話數據以的形式存儲并且服務器會把會話數據進行加密為了進行這樣的加密應用需要定義 跟Cookie不同, 會話(Session)數據存儲于服務器上. 會話是指一個客戶在一個web服務上從登錄到注銷之間的時間段. 會話中需要存儲的會...
摘要:局部變量用于保存從表單中接收到的名字,初始化時變量為。在語句中,這個名字被賦值給局部變量且表單域的數據屬性通過賦值為空字符串而被清除。示例重定向和用戶會話在上一個版本中,局部變量用于保存用戶在表單中輸入的姓名。 4、視圖函數中的表單操作 在新版本的hello.py中,index()視圖函數渲染表單并接收其數據。示例4-4展示更新后的index()視圖函數。 示例4-4. hello...
閱讀 2943·2023-04-25 19:20
閱讀 786·2021-11-24 09:38
閱讀 2040·2021-09-26 09:55
閱讀 2430·2021-09-02 15:11
閱讀 2015·2019-08-30 15:55
閱讀 3610·2019-08-30 15:54
閱讀 3148·2019-08-30 14:03
閱讀 2962·2019-08-29 17:11