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对象:----->所有的请求 ...
随机推荐
- Vscode设置个人爱好
Vscode设置个人爱好 插件列表 abusaidm.html-snippets-0.1.0 adamwalzer.string-converter-0.0.9 AESSoft.aessoft-c ...
- Awk 从入门到放弃 (8) 动作总结之三
awk continue 语句 awk exit 语句 awk if 语句 awk next 语句 awk break 语句
- 快速切题 sgu115. Calendar 模拟 难度:0
115. Calendar time limit per test: 0.25 sec. memory limit per test: 4096 KB First year of new millen ...
- Python Django 之 MVT
一.Django的MVT模式 M: Model, 模型 与MVC中的M相同,负责对数据的处理 V: View, 视图 与MVC中的C类似,负责处理用户请求,调用M和T,响应请求 T: Template ...
- 获取jsp选中复选框的id传到后台controller,进行逻辑删除等操作
逻辑删除设备:(数据表中还有这条记录,不显示出来) 思路: 数据表加个字段display,值为Y/N,只显示display为Y的,删除时,把display的值改为N,就不会显示出来 jsp页面如下图, ...
- Oracle 常用的一些命令
启动监听:lsnrctl start 查看监听:lsnrctl status 停止监听:lsnrctl stop 1.oracle 数据服务器包括:实例进程和数据库: 实例进程包括:memory ...
- & | ^ ~ << >> 按位运算符
与(&) |(或) ^(异或) ~(取反) <<(左移) 先将两个数全部转化成为2进制再进行比较,再进行比较,位数不同则前面添0变为位数相同,然后再将得到的结果转化为你想要的类型 ...
- 201621123010《Java程序设计》第12周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 面向系统综合设计-图书馆管理系统或购物车 使用流与文件改造你的图书馆管理系统或购物车. 2.1 简述如何 ...
- eclipse集成svn后总是弹出 Password Required问题解决方法
最近在集成svn后,在打开eclipse后总是一遍遍的弹出 Password Required,即使输入正确的用户名以及密码也会弹出,最后发现是eclipse的Network Connections ...
- 给迷茫的你学习Node.js最好的方法
这是真事儿,在3w咖啡整理书稿,然后小弟梁过来了,聊聊他的现状,一副很不好的样子,在天津我曾带过他大半年,总不能不管,我给他的建议是:“每天看10个npm模块” 对于学习Node.js迷茫的人来说,这 ...