Flask类有一个redirect()函数。调用时,它返回一个响应对象,并将用户重定向到具有指定状态代码的另一个目标位置。
redirect()函数的原型如下:
Flask.redirect(location, statuscode, response)
在上述函数中:
location参数是应该重定向响应的URL。
statuscode发送到浏览器标头,默认为302。
response参数用于实例化响应。
以下状态代码已标准化:
默认状态代码为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)
Code 参数采用以下值之一:
400 - 用于错误请求
401 - 用于未身份验证的
403 - Forbidden
404 - 未找到
406 - 表示不接受
415 - 用于不支持的媒体类型
429 - 请求过多
让我们对上述代码中的login()函数稍作更改。如果要显示"Unauthurized"页面,请将其替换为调用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)
FastCGI是在nginx,lighttpd和Cherokee等web服务器上的Flask应用程序的另一个部署选项。配置FastCGI首先,您需要创建FastCGI服务...
class RequestFactoryRequestFactory 与测试客户端共享相同的 API。 但是,RequestFactory 不能像浏览器那样运行,而是...
代码覆盖度表示有多少源代码被测试了。它表明了代码的哪些部分被测试用例覆盖,哪些没有。这是测试应用很重要的部分,所以强烈推...
到目前为止,本文档的重点是缓存您自己的数据。但是另一种类型的缓存也与Web开发相关:由“下游”缓存执行的缓存。这些系统甚至...
模型继承在 Django 中与普通类继承在 Python 中的工作方式几乎完全相同,但也仍应遵循本页开头的内容。这意味着其基类应该继承自...
JMenu类表示从菜单栏部署的下拉菜单组件。类声明以下是javax.swing.JMenu类的声明public class JMenu extends JMenuItemimplemen...