Flask视图函数与普通函数的区别,响应对象Response
视图函数与普通函数看似没什么区别,其实他们的返回值上有着很大的区别。
from flask import Flask
app = Flask(__name__)
@app.route('/hello')
def hello_world():
return 'Hello World!'
def hello_0bug():
return 'hello_0bug'
if __name__ == '__main__':
app.run()
视图函数的返回值是一个Response对象,里面封装了状态码content-type,cookie等信息
我们可以通过make_response来构造Response
from flask import Flask, make_response
app = Flask(__name__)
@app.route('/hello')
def hello_world():
headers = {
'content-type': 'text/panin'
}
response = make_response('<html></html>', 404)
response.headers = headers
return response
if __name__ == '__main__':
app.run()


状态码知识一个标识,可以看到404飘红了。
做一个有意思的尝试:
from flask import Flask, make_response
app = Flask(__name__)
@app.route('/hello')
def hello_world():
headers = {
'content-type': 'text/plain',
'location': 'http://www.cnblogs.com/0bug/'
}
response = make_response('<html></html>', 301)
response.headers = headers
return response
if __name__ == '__main__':
app.run()
运行之后在访问就会重定向到博客园。
如果是返回json格式:
'content-type': 'application/json'
默认是
'content-type': 'text/html'
简写方式:
from flask import Flask
app = Flask(__name__)
@app.route('/hello')
def hello_world():
headers = {
'content-type': 'text/plain',
'location': 'http://www.cnblogs.com/0bug/'
}
return '<html></html>', 301, headers
if __name__ == '__main__':
app.run()
Flask视图函数与普通函数的区别,响应对象Response的更多相关文章
- onAttachedToWindow () 和 onDetachedFromWindow () ; 以及更新视图的函数ondraw() 和dispatchdraw()的区别
protected void onAttachedToWindow() This is called when the view is attached to a window. At this po ...
- flask 视图函数的使用
flask框架 视图函数当中 各种实用情况简单配置 1 建立连接 2 路由参数 3 返回网络状态码 4 自定义错误页面 5 重定向 6 正则url限制 和 url 优化 7 设置和获取cookie # ...
- Flask视图函数报fmalformed url rule错误的原因
Flask视图函数报fmalformed url rule错误,原因可能是包含中文字符了 把标点符号都重新写一遍英文格式的,可能就不会报这个了
- Flask视图函数与模板语法
1.Django中的CBV模式 2.Flask中的CBV和FBV def auth(func): def inner(*args, **kwargs): result = ...
- MySQL— 索引,视图,触发器,函数,存储过程,执行计划,慢日志,分页性能
一.索引,分页性能,执行计划,慢日志 (1)索引的种类,创建语句,名词补充(最左前缀匹配,覆盖索引,索引合并,局部索引等): import sys # http://www.cnblogs.com/w ...
- MySQL视图 索引 存储过程 触发器 函数
视图: 也就是一个虚拟表(不是真实存在的),它的本质就是根据SQL语句获取动态的数据集,并为其命名.用户使用时只需要使用命名的视图即可获取结果集,并可以当做表来使用.它的作用就是方便查询操作,减 ...
- 触发器 视图 存储过程 mysql常用函数
...
- MySQL 视图、触发器、函数、存储过程
1. 视图 1.1 什么是视图 通俗来讲,视图就是一条 select 语句执行后返回的结果集.所有我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上. 1.2 视图的特性 视图是对若干张基 ...
- render函数和redirect函数的区别+反向解析
render函数和redirect函数的区别+反向解析 1.视图函数:一定是要包含两个对象的(render源码里面有HttpResponse对象) request对象:----->所有的请求 ...
随机推荐
- Activiti进阶(二)——部署流程资源的三种方式
转自:http://blog.csdn.net/zjx86320/article/details/50234707 流程资源可以是各种类型的文件,在启动流程或流程实例运行过程中会被读取.下面介绍常用的 ...
- jsonp 遍历文档
遍历文档 将html解析成一个Document后,就可以使用类似Dom的方法进行操作 File input = new File("/tmp/input.html"); Docum ...
- Jquery中bind(), live(), on(), delegate()四种注册事件的优缺点,建议使用on()
jquery中注册的事件,注册事件很容易理解偏差,叫法不一样.我第一反应就是如何添加事件,使用onclick之类的,暂时不讨论js注册事件的方法. 也看到园内前辈写过相关的帖子,但不是很详细,我找到了 ...
- glusterfs分布式存储
一,分布式文件系统理论基础 1.1 分布式文件系统出现 计算机通过文件系统管理,存储数据,而现在数据信息爆炸的时代中人们可以获取的数据成指数倍的增长,单纯通过增加硬盘个数来扩展计算机文件系统的存储容量 ...
- 51nod算法马拉松28-a
题解:水体一枚 按照贪心的思想求出是2的k次方,然后高精度计算 代码: #include<bits/stdc++.h> using namespace std; ; int ans,n,a ...
- [转载]JS浏览器兼容性问题
from:http://dada-fangfang.iteye.com/blog/811749 做BS开发就难免会用到javascript,而每个浏览器对javascript的支持有不同.这就需要我们 ...
- 浅谈:从为什么学习python到如何学好python
虽然目前的编程语言有很多,但是基础语法上的概念,本质上都是相通的.可以做到一通百通.所以没有必要为了学哪门语言纠结太多. python是目前市面上,我个人认为是最简洁&&最优雅& ...
- IIS7.5 与 Tomcat 8整合
IIS需要与Tomcat共用80端口,现在只能通过IIS来转发请求给Tomcat实现,即所谓的整合: 一.下载The Apache Tomcat Connector,下载地址是:http://www. ...
- Python 常用扩展库(八)
- foreach的使用原理简单解析
数组可以foreach遍历,这个是在jdk1.5之前就可以的,我也不太清楚是怎么做到的. 后面的List,Set等的foreach都是实现Iterable接口,基于iterator()对象实现的.Fo ...