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. nginx日志模块、事件模块

    日志模块 1.access_log指令 语法: access_log path [format [buffer=size [flush=time]]]; access_log logs/access. ...

  2. visual studio 用 vs code 的 hot key

    记得 2 年多前开始用 vs code, 一开始非常不适应它的 hot key 一心想把 vs code 的 hot key 全改成 visual studio 的,但一直没有找到比较方便的办法 (总 ...

  3. BMP RGB888转RGB565 +上下翻转+缩放

      典型的BMP图像文件由四部分组成: (1) 位图头文件数据结构,它包含BMP图像文件的类型.文件大小和位图起始位置等信息: typedef struct tagBITMAPFILEHEADER { ...

  4. c++11 用户定义字面量

    c++11 用户定义字面量 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> #inc ...

  5. 【Android】二、HelloWorld

    1. 按照该网址写HelloWorld 例子   http://www.runoob.com/android/android-hello-world-example.html 2.点击 make pr ...

  6. 基于Hadoop生态SparkStreaming的大数据实时流处理平台的搭建

    随着公司业务发展,对大数据的获取和实时处理的要求就会越来越高,日志处理.用户行为分析.场景业务分析等等,传统的写日志方式根本满足不了业务的实时处理需求,所以本人准备开始着手改造原系统中的数据处理方式, ...

  7. SQLServer从渣仔到小白

    一.将查询结果插入到另一张表 1. 查询结果插入新表 select * into tableA from tableB where … 2. 查询结果插入已经存在的表 insert into tabl ...

  8. ES6入门十一:Generator生成器、async+await、Promisify

    生成器的基本使用 生成器 + Promise async+await Promise化之Promisify工具方法 一.生成器的基本使用 在介绍生成器的使用之前,可以简单理解生成器实质上生成的就是一个 ...

  9. JS经典算法

     寻找500以内能被5和7整除的数字:for(var num=1;num<=500&&num++;) if(num%7==0&&num%5==0){ consol ...

  10. JavaScript特点有哪些

    JavaScript特点有哪些 JavaScript 文字脚本语言是一种动态的.弱类型的.基于原型的语言,具有内置的支持类型.它的解释器被称为javascript引擎,是浏览器的一部分,广泛用于客户端 ...