flask中的response对象

家住魔仙堡 提交于 2020-01-06 21:50:03

response对象,即响应对象。响应数据为视图函数return返回的结果。
其中,结果的类型有以下几种:
1.字符串类型
对于字符串类型,系统自动将其封装为response对象。
例:

@fls.route("/")
def index():
    return "首页"

视图函数index返回一个字符串。结果为:
在这里插入图片描述
2. 自定义响应对象
返回自定义的response响应对象。
例:

@fls.route("/news/")
def news():
    response_obj = make_response("新闻")
    response_obj.headers["name"] = "kalath"
    return response_obj

结果为:
在这里插入图片描述
响应头中name字段的值已经更改为我们设置的值。
在这里插入图片描述
3. JSON数据
返回结果为JSON数据。例如:

@fls.route("/teams/")
def teams():
    teams = {
        "Germany": ["Bayern Munich", "Leipzig", "M.Gladbach", "Dortmund", "Schalke 04"],
        "England": ["Liverpool", "Leicester", "Manchester City", "Chelsea", "Manchester United"],
        "Italy": ["Inter", "Juventus", "Lazio", "Roma", "Atalanta"],
        "France": ["Paris Saint-Germain", "Marseille", "Rennes", "Lille", "Nantes"],
        "Spain": ["Barcelona", "Real Madrid", "Sevilla", "Atletico Madrid", "Real Sociedad"]
    }
    return jsonify(teams)

结果为:
在这里插入图片描述
4. HTML页面
返回的是html文件页面,格式为:
render_template(html文件, 向html文件中传递的数据)

@fls.route("/team_info/")
def team_info():
    return render_template("info.html")

结果为:
在这里插入图片描述
5. redirect重定向
返回值为重定向的结果。

@fls.route("/team/")
def team():
    return redirect(url_for('team_info'))

此时,输入http://127.0.0.1:5000/team/,会跳转到http://127.0.0.1:5000/team_info/显示相应的页面,即完成了重定向。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!