Flask中的HTTPResponse

from flask import Flask,redirect
app = Flask(__name__) @app.route("/index")
def index():
return "hello word" # HttpResponse【返回字符串】 if __name__ == '__main__':
app.run("0.0.0.0",9876)

在Flask 中的HttpResponse 在我们看来其实就是直接返回字符串和django中的HttpResponse("hello word")一样

Flask中的render

使用模板渲染页面时我们需要导入render_template;并且需要在项目的目录下创建一个templates文件夹用来存放html页面;

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

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

设置该文件夹为模板文件夹

from flask import Flask,render_template
app = Flask(__name__) @app.route('/')
def home():
# 模板渲染
return render_template("home.html") if __name__ == '__main__':
app.run("0.0.0.0",9876)

flask的模板渲染和django的模板渲染差不多,只不过django用的render而flask用render_template

Flask中的redirect

from flask import Flask,redirect      # 导入redirect
app = Flask(__name__) @app.route('/')
def home():
# 访问/重定向到index页面
return redirect("/index") @app.route("/index")
def index():
return "hello word" # HttpResponse if __name__ == '__main__':
app.run("0.0.0.0",9876)

每当访问/就会重定向到index页面

Flask返回特殊的格式

返回JSON格式的数据

jsonify

from flask import Flask,jsonify
app = Flask(__name__) @app.route('/')
def home():
return jsonify({"name":"henry","age":18})
# 在Flask 1.1.1 版本中 可以直接返回字典类型 可以不再使用jsonify了
# return {"name":"henry","age":18} if __name__ == '__main__':
app.run("0.0.0.0",9876)

响应头中加入 Content-type:application/json

发送文件

send_file

打开并返回文件内容,
自动识别文件类型,
响应头中加入Content-type:文件类型
ps:当浏览器无法识别Content-type时,会下载文件

我们以图片为列:

from flask import Flask,send_file
app = Flask(__name__) @app.route('/')
def home():
# 访问/路径给返回一个图片
return send_file("templates/jypyter.png") if __name__ == '__main__':
app.run("0.0.0.0",9876)

查看响应头中的Content-type类型

其他content-type

MP3 【Content-Type: audio/mpeg】
MP4 【Content-Type: video/mp4】

Flask-Response的更多相关文章

  1. flask response 详解

    from flask import Flask,Response,jsonify #Flask = werkzeug(处理网络的) + sqlalchemy(处理数据库的) + jinja2 (处理模 ...

  2. Flask Response响应(flask中设置响应信息的方法,返回json数据的方法)

    设置响应信息的方法 1.  返回自定义的响应头,有两种方式: (1)  第一种是:视图函数return的时候,使用元组,返回自定义的信息 返回的时候的状态码可以自定义信息:"状态码   自定 ...

  3. flask第十六篇——Response【2】

    今天来介绍自定义返回对象: 现在我们假定有一个需求:所有的视图函数都要返回json格式的对象我们先看一下Response的源码: 发现只有一行default_mimetype='text/html', ...

  4. flask第十五篇——Response

    从这一节开始,我就要开始讲关于模板的知识了.先来学习一下Response的相关知识. 所有返回前台的内容其实都应该是Response的对象或者其子类,我们看到如果返回的是字符串直接可以写成return ...

  5. Flask初学者:视图函数/方法返回值(HTML模板/Response对象)

    返回HTML模板:使用“from flask import render_template”,在函数中传入相对于文件夹“templates”HTML模板路径名称字符串即可(默认模板路径),flask会 ...

  6. Inside Flask - flask.__init__.py 和核心组件

    Inside Flask - flask.__init__.py 和核心组件 简单的示例 首先看看一个简单的示例.使用 Flask ,通常是从 flask 模块导入 Flask . request 等 ...

  7. Python中使用Flask、MongoDB搭建简易图片服务器

    主要介绍了Python中使用Flask.MongoDB搭建简易图片服务器,本文是一个详细完整的教程,需要的朋友可以参考下 1.前期准备 通过 pip 或 easy_install 安装了 pymong ...

  8. Flask 文件和流

    当我们要往客户端发送大量的数据比较好的方式是使用流,通过流的方式来将响应内容发送给客户端,实现文件的上传功能,以及如何获取上传后的文件. 响应流的生成 Flask响应流的实现原理就是通过Python的 ...

  9. [Python]Flask构建网站分析应用

    原文Saturday morning hacks: Building an Analytics App with Flask - 由orangleliu友情翻译 ,主要是通过埋点技术来实现web网页的 ...

  10. 9.Flask Cookie和Session

    1.1.概念 cookie:在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户.cookie的出现就是为了解决这个问题,第 ...

随机推荐

  1. git忽略而不提交文件的3种情形

    1.从未提交过的文件可以用.gitignore 也就是添加之后从来没有提交(commit)过的文件,可以使用.gitignore忽略该文件 该文件只能作用于未跟踪的文件(Untracked Files ...

  2. TCP协议探究(四):定时器

    1 概述 重传定时器:使用于当希望收到另一端的确认. 坚持(persist)定时器:使窗口大小信息保持不断流动,即使另一端关闭了其接收窗口 保活(keepalive)定时器:用于检测一个空闲连接的另一 ...

  3. C#UDP异步通信

    using SetingDemo.LogHelp;using SetingDemo.SingleRowDeclare;using System;using System.Collections.Gen ...

  4. 关于SpringBoot的自动配置和启动过程

    一.简介 Spring Boot简化了Spring应用的开发,采用约定大于配置的思想,去繁从简,很方便就能构建一个独立的.产品级别的应用. 1.传统J2EE开发的缺点 开发笨重.配置繁多复杂.开发效率 ...

  5. vue学习(8)-过渡transition&动画animate

      进入之前                                                    离开之后 v-enter---v-enter-to            v-lea ...

  6. eclipse svn 插件离线安装后connector获取不到的问题解决

    最近换了一家公司,写代码的电脑不给外网,所以各种麻烦的问题就来了,这里就说一下eclipse 安装SVN插件的一个小问题,虽说是小问题,但也折腾了我好几个小时,当然也可以不用这个插件,直接安装SVN客 ...

  7. C++手动调用析构函数无效问题排查

    在学习C++的时候,都知道不要手动调用析构函数,也不要在构造函数.析构函数里调用虚函数.工作这么多年,这些冷门的知识极少用到,渐渐被繁杂的业务逻辑淹没掉. 不过,最近项目里出现了析构函数没有被正确地调 ...

  8. 实时跟踪之TRACA

    背景: 目前,在实时跟踪领域存在着越来越多的先进方法,同时也极大地促进了该领域的发展.主要有两种不同的基于深度学习的跟踪方法:1.由在线跟踪器组成,这些跟踪器依赖网络连续的微调来学习目标的变化外观,精 ...

  9. 简单易用的PIL,教你如何使用python实现自动化截屏

    Python有个第三方模块叫做PIL是Python Imaging Library的缩写,是用来进行图像处理的,比如,改变图片颜色,图片缩放,图片裁剪等等基本图片操作.它还包含一个截屏的功能. 从以上 ...

  10. C++-cin与scanf cout与printf效率问题

    http://blog.csdn.net/l2580258/article/details/51319387 void cin_read_nosync() { freopen("data.t ...