国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

[譯]Flask教程--重定向與錯誤

leap_frog / 1100人閱讀

摘要:類有一個方法當我們調用它時它會返回一個響應對象并且按指定的狀態碼將用戶重定向到另一個位置方法的原型如下在上面的函數中我們要重定向的位置狀態碼會在頭中發送給瀏覽器默認為用這個參數來初始化響應對象下面是一些標準的狀態碼重定向的狀態碼默認是也就是

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

相關文章

  • []如何使用Flask開發一個增刪改查的應用(part2)

    摘要:獲取成為開發專家的技巧。我們可以在兩個文本框輸入筆記的標題和內容。在本教程中,我們將使用一個名為的工具。它是一個火狐瀏覽器的擴展,我們可以使用它管理數據庫。安裝,打開火狐瀏覽器,點擊,然后點找到的文件夾圖標并點擊它。 showImg(https://cdn-images-1.medium.com/max/600/1*Ou6FFJJD3zhcIUU8wBZqIw.png); 教程譯文首發...

    adam1q84 評論0 收藏0
  • [] Flask教程--會話

    摘要:跟不同會話數據存儲于服務器上會話是指一個客戶在一個服務上從登錄到注銷之間的時間段會話中需要存儲的會話數據儲存在服務器上的一個臨時目錄中每個會話都被分配了一個會話會話數據以的形式存儲并且服務器會把會話數據進行加密為了進行這樣的加密應用需要定義 跟Cookie不同, 會話(Session)數據存儲于服務器上. 會話是指一個客戶在一個web服務上從登錄到注銷之間的時間段. 會話中需要存儲的會...

    microelec 評論0 收藏0
  • Flask Web Development —— Web表單(下)

    摘要:局部變量用于保存從表單中接收到的名字,初始化時變量為。在語句中,這個名字被賦值給局部變量且表單域的數據屬性通過賦值為空字符串而被清除。示例重定向和用戶會話在上一個版本中,局部變量用于保存用戶在表單中輸入的姓名。 4、視圖函數中的表單操作 在新版本的hello.py中,index()視圖函數渲染表單并接收其數據。示例4-4展示更新后的index()視圖函數。 示例4-4. hello...

    yeooo 評論0 收藏0

發表評論

0條評論

leap_frog

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<