Flask中的 Render Redirect HttpResponse

Posted rixian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask中的 Render Redirect HttpResponse相关的知识,希望对你有一定的参考价值。

1.Flask中的HTTPResponse

from flask import Flask

app = Flask(__name__)

@app.route("/") # app中的route装饰器
def index():    # 视图函数
    return "Hello DSB"  # HTTPResponse

app.run(debug=True)

在Flask中的HttpResponse在我们看来其实就是直接返回字符串

2.Flask中的Redirect

from flask import Flask, redirect # 导入flask中的redirect

app = Flask(__name__)

@app.route("/") # app中的route装饰器
def index():    # 视图函数
    return "Hello DSB"  # HTTPResponse

@app.route("/redi") # app中的route装饰器,用来指定视图函数URL地址
def redi(): # 视图函数
    return redirect("/")    # redirect跳转至"/"

每当访问"/redi"这个地址的时候,视图函数redi会触发redirect("/") 跳转到url地址:  "/" 并会触发"/"对应的视图函数index()

3.Flask中的render(render_template)

from flask import Flask, redirect, render_template

app = Flask(__name__)

@app.route("/") # app中的route装饰器
def index():    # 视图函数
    return "Hello DSB"  # HTTPResponse

@app.route("/redi") # app中的route装饰器,用来指定视图函数URL地址
def redi(): # 视图函数
    return redirect("/")    # redirect跳转至"/"

@app.route("/home")  # app中的route装饰器,用来指定视图函数的url地址
def home():  # 视图函数
    return render_template("home.html")  # 渲染HTML模板返回HTML页面

app.run(debug=True)

HTML模板渲染是每个Web框架中都必须有的,至于render_template的具体用法,留个悬念,往后看

注意: 如果要使用 render_template 返回渲染的模板,请在项目的主目录中加入一个目录 templates

技术分享图片

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>我是HOME</h1>
</body>
</html>

否则可能会有一个Jinja2的异常哦

技术分享图片

遇到上述的问题,基本上就是你的template的路径问题

以上是关于Flask中的 Render Redirect HttpResponse的主要内容,如果未能解决你的问题,请参考以下文章

Flask最强攻略 - 跟DragonFire学Flask - 第二篇 Flask 中的 Render Redirect HttpResponse

Flask中的 Render Redirect HttpResponse

flask第二篇 三剑客+特殊返回值

Flask 学习-11.redirect() 重定向

Flask入门之开发简单登陆界面

Flask路由之重定向