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对象:----->所有的请求 ...
随机推荐
- sql server2008 如何获取上月、上周、昨天、今天、本周、本月的查询周期(通过存储过程)
我这边有一个需求要统计订单数据,需要统计订单的上传日期,统计的模块大概是 那么上月.上周.昨天.今天.本周.本月应该是怎样呢? 1.数据分析 因为今天是动态数据,我要查月份(上月.本月),应该是一个日 ...
- jsp jstl的使用
1)下载jstl.jar和standard.jar文件,然后将其拷贝到tomcat的lib目录下. 具体的下载地址:http://mirrors.ccs.neu.edu/Apache/dist/jak ...
- string logo online customization
url: http://www.asciiarts.net/ example : hello
- bzoj1607
题解: 帅选法 把相同的放在一起 代码: #include<bits/stdc++.h> using namespace std; ; int n,a[N],s[N],M,ss[N]; i ...
- 关系数据库ORMlite的用法;
首先要在 http://ormlite.com/releases 页面下载两个jar 包: (1)core列表下的jar包: (2)android列表下的jar包. 将上面的两个jar包下载后放到An ...
- python关于时间的计算,time模块
import time, datetime # time.time 返回当前时间的时间戳(1970纪元后经过的浮点秒数)(格林尼治时间). # 1分钟60秒,1小时3600秒,1天86400秒. pr ...
- Swift网络封装库Moya中文手册之Targets
Targets 使用Moya,我们首先需要定义一个target - 这通常是继承 TargetType 协议的 枚举 变量.接下来,你的app只需要处理这些targets,也就是一些你希望调用API完 ...
- MyEclipse CI 2018.9.0正式发布(附下载)
MyEclipse线上特惠,在线立享专属折扣!火热开启中>> 此MyEclipse版本增加了对较新的Wildfly服务器的支持,修复了与PDT等第三方工具的兼容性,并在IDE中包含了许多错 ...
- logback转义符与MDC
关于MDC的使用,可以结合filter一块使用,将需要串联的上下文的关键信息,通过header进行传递,然后通过配置%X{userId}将信息打印出来. MDC.put("userId&qu ...
- 1.2.1 Elevator
Elevator Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Problem De ...