flask更改已有的response
今天遇到个问题,需要更改返回的response,但框架已经生成了一个response,所以需要直接更改。
试着找了找解决办法,最终解决方式如下:
#下文中payload的类型是
# class Response(werkzeug.wrappers.Response, JSONMixin) payload.set_data(json.dumps({'status': 'OK'}))
payload.status_code =
payload.content_type = 'application/json'
虽然可以解决问题,但觉得生成response后再改多少有点多此一举,以后还是要尽量避免这样。
那么,redirect(one_url)可以使用:
from werkzeug.utils import escape
from werkzeug.urls import iri_to_uri location = one_url
display_location = escape(location)
location = iri_to_uri(location, safe_conversion=True) payload.set_data('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">\n'
'<title>Redirecting...</title>\n'
'<h1>Redirecting...</h1>\n'
'<p>You should be redirected automatically to target URL: '
'<a href="%s">%s</a>. If not click the link.' %
(escape(location), display_location))
payload.mimetype ='text/html' # 查了查,似乎指定mimetype更合适,content_type会根据mimetype自动生成。
payload.status_code =
payload.headers['Location'] = location
来代替。
flask更改已有的response的更多相关文章
- mysql更改已有数据表的字符集,保留原有数据内容
mysql更改已有数据表的字符集,保留原有数据内容 原文网址:http://blog.csdn.net/learn_2/article/details/6460370 环境:在应用开始阶段没有 ...
- Flask中request与response参数
目录 request response request from flask import Flask from flask import request app = Flask(__name__) ...
- flask返回自定义的Response
from json import dumps from flask import Response from flask_api import status from protocol.errors_ ...
- flask函数已定义参数却出现takes 0 positional arguments but 1 was given的问题
在flask中定义了一个简单的删除数据库内容的路由 测试却发现一直报错 说delete_history函数定义时没有接受参数,但是检查delete_history函数却发现没有问题 后来想了半天才发现 ...
- 更改已安装的织梦dedecms系统数据库表前缀
1 修改之前我们先备份下数据,备份的操作过程是:网站后台------系统------数据库备份/还原-------然后按提交.默认保存的数据在data/backupdata目录下. 2 修改目录下da ...
- Flask实战第6天:视图函数Response返回值
视图函数的返回值会被自动转换为一个响应对象,Flask的转换逻辑如下: 如果返回的是一个合法的响应对象,则直接返回 可以使用make_response函数来创建Response对象,这个方法可以设置额 ...
- 通过flask中的Response返回json数据
使用flask的过程中,发现有时需要生成一个Response并返回.网上查了查,看了看源码,找到了两种办法: from flask import Response, json Response(jso ...
- 6、Flask实战第6天:视图函数Response返回值
视图函数的返回值会被自动转换为一个响应对象,Flask的转换逻辑如下: 如果返回的是一个合法的响应对象,则直接返回 可以使用make_response函数来创建Response对象,这个方法可以设置额 ...
- Flask初学者:视图函数/方法返回值(HTML模板/Response对象)
返回HTML模板:使用“from flask import render_template”,在函数中传入相对于文件夹“templates”HTML模板路径名称字符串即可(默认模板路径),flask会 ...
随机推荐
- javascript常用工具类整理(copy)
JavaScript常用工具类 类型 日期 数组 字符串 数字 网络请求 节点 存储 其他 1.类型 isString (o) { //是否字符串 return Object.prototype.to ...
- linux git clone 指定分支
git clone -b develop http://192.168.11.11:8888/scm/git/vrmmo 指定下载develop分支
- rpc调用过程
在openstack中,各个组件之间的调用遵循RESTful风格,而组件内部各服务之间的相互调用采用rpc远程调用,比如nova-conductor和nova-compute rpc原理: 首先了解什 ...
- win7+win10系统使用日常经验集锦
请保留此份 Cmd Markdown 的欢迎稿兼使用说明, 当然你也可以使用彩色字体. 或者使用小体字. 或者使用大体字. 如需撰写新稿件,点击顶部工具栏右侧的 新文稿 或者使用快捷键 Ctrl+Al ...
- Vim 命令、操作、快捷键
打开单个文件:vim file 同时打开多个文件:vim file1 file2 file3 ... 在vim窗口中打开一个新文件 : :open file 在新窗口中打开文件: :split fi ...
- linux 查看文件显示行号
1.用vi或vim打开文件显示行号: 显示当前行号: :nu 显示所有行号: :set nu 2.设置服务器显示行号 2.1编辑~/.vimrc文件,在该文件中加入 set nu 2.2在UBUN ...
- ATS配置自定义日志
修改records.config,开启日志自定义功能 更改日志目录,默认日志存放在/var/log/trafficserver: CONFIG proxy.config.log.logfile_dir ...
- VMware 2017 v14.x 永久许可证激活密钥
FF31K-AHZD1-H8ETZ-8WWEZ-WUUVA CV7T2-6WY5Q-48EWP-ZXY7X-QGUWD
- spring aop 学习1
1.配置自动扫描的包 <context:component-scan base-package="com.ddf.spring.aop.impl"/> 2.使用spri ...
- leetcode1
public class Solution { public int[] TwoSum(int[] nums, int target) { ]; ; i < nums.Length; i++) ...