视图函数与普通函数看似没什么区别,其实他们的返回值上有着很大的区别。

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的更多相关文章

  1. onAttachedToWindow () 和 onDetachedFromWindow () ; 以及更新视图的函数ondraw() 和dispatchdraw()的区别

    protected void onAttachedToWindow() This is called when the view is attached to a window. At this po ...

  2. flask 视图函数的使用

    flask框架 视图函数当中 各种实用情况简单配置 1 建立连接 2 路由参数 3 返回网络状态码 4 自定义错误页面 5 重定向 6 正则url限制 和 url 优化 7 设置和获取cookie # ...

  3. Flask视图函数报fmalformed url rule错误的原因

    Flask视图函数报fmalformed url rule错误,原因可能是包含中文字符了 把标点符号都重新写一遍英文格式的,可能就不会报这个了

  4. Flask视图函数与模板语法

    1.Django中的CBV模式 ​ 2.Flask中的CBV和FBV def auth(func):     def inner(*args, **kwargs):         result =  ...

  5. MySQL— 索引,视图,触发器,函数,存储过程,执行计划,慢日志,分页性能

    一.索引,分页性能,执行计划,慢日志 (1)索引的种类,创建语句,名词补充(最左前缀匹配,覆盖索引,索引合并,局部索引等): import sys # http://www.cnblogs.com/w ...

  6. MySQL视图 索引 存储过程 触发器 函数

       视图: 也就是一个虚拟表(不是真实存在的),它的本质就是根据SQL语句获取动态的数据集,并为其命名.用户使用时只需要使用命名的视图即可获取结果集,并可以当做表来使用.它的作用就是方便查询操作,减 ...

  7. 触发器 视图 存储过程 mysql常用函数

                                                                                                        ...

  8. MySQL 视图、触发器、函数、存储过程

    1. 视图 1.1 什么是视图 通俗来讲,视图就是一条 select 语句执行后返回的结果集.所有我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上. 1.2 视图的特性 视图是对若干张基 ...

  9. render函数和redirect函数的区别+反向解析

    render函数和redirect函数的区别+反向解析 1.视图函数:一定是要包含两个对象的(render源码里面有HttpResponse对象)   request对象:----->所有的请求 ...

随机推荐

  1. Css的向左浮动、先右浮动、绝对定位、相对定位的简单使用

    1.div层的浮动 1)div向左浮动.向右浮动 <!doctype html> <html> <head> <meta charset="utf- ...

  2. POJ 1754 线段树

    e,应该是线段树里的水题.线段树单点更新.查询区间最值. 代码套用模板 PS :模板有些地方不太懂. #include<stdio.h>#include<iostream>#i ...

  3. 手机端的META你知道多少

    一.天猫 <title>天猫触屏版</title> <meta content="text/html; charset=utf-8" http-equ ...

  4. 关于list集合存储null的问题

    工作中,遇到list集合存储null的问题,不确定list能否存储null值.于是写一些demo测试list,set,table,及map存储null的问题. 1.list之arraylist pub ...

  5. oracle之TRUNC函数

    TRUNC(number,num_digits) Number 需要截尾取整的数字. Num_digits 用于指定取整精度的数字.Num_digits 的默认值为 0.如果Num_digits为正数 ...

  6. mysql 函数 事务

    mysql 中提供了许多内置函数 CHAR_LENGTH(str) 返回值为字符串str 的长度,长度的单位为字符.一个多字节字符算作一个单字符. 对于一个包含五个二字节字符集, LENGTH()返回 ...

  7. 切换python版本

    安装python3.6.5后, alias python='/usr/bin/python3.6'

  8. shell 数学运算总结

    # !/bin/bash ## 整数-算数运算 ### 1. expr r=`expr 4 + 5` ### Tips:1. '4''+''5'三者之间有空白 echo $r; r=`expr 4 \ ...

  9. jvm 方法区

    方法区在一个jvm实例的内部,类型信息被存储在一个称为方法区的内存逻辑区中.类型信息是由类加载器在类加载时从类文件中提取出来的.类(静态)变量也存储在方法区中. jvm实现的设计者决定了类型信息的内部 ...

  10. C#写的window服务内存溢出

    浅谈c#垃圾回收机制(GC) 写了一个window服务,循环更新sqlite记录,内存一点点稳步增长.三天后,内存溢出.于是,我从自己的代码入手,查找到底哪儿占用内存释放不掉,最终明确是调用servi ...