解决Python中list里的中文输出到html模板里的问题

yipeiwu_com5年前Python基础

最仅在做一个数据分析的功能时候遇到将list中的中文字符按照数组的形式输出到html模板里的js中进行处理,但是直接输出模板会按照unicode编码输出,这个问题真的让人头大。

本方法实在flask框架里完成的,以下是解决方法,仅供参考。

//r_cname保存的是list类型,存储的是中文字符串
print r_cname
//输出unicode编码格式,格式如下
[u'\u6e56\u4eba', u'\u7070\u718a', u'\u9ec4\u8702', u'\u70ed\u706b', u'\u5c3c\u514b\u65af', u'\u731b\u9f99', u'\u516c\u725b', u'\u5feb\u8239', u'\u96c4\u9e7f', u'76\u4eba', u'\u5c0f\u725b', u'\u5f00\u62d3\u8005', u'\u6d3b\u585e', u'\u731b\u9f99', u'\u9ec4\u8702', u'\u5947\u624d', u'\u8001\u9e70', u'76\u4eba', u'\u51ef\u5c14\u7279', u'\u706b\u7bad', u'\u9b54\u672f', u'\u731b\u9f99', u'\u5c3c\u514b\u65af']

//处理方法
arr = json.dumps(r_cname, ensure_ascii=False)
print arr

//输出对应的中文
["湖人", "灰熊", "黄蜂", "热火", "尼克斯", "猛龙", "公牛", "快船", "雄鹿", "76人", "小牛", "开拓者", "活塞", "猛龙", "黄蜂", "奇才", "老鹰", "76人", "凯尔特", "火箭", "魔术", "猛龙", "尼克斯"]

//输出到模板的时候要注意,调用该变量的时候要加上saf,这是flask中Jinja2变量过滤器
//在html模板页面
<script>
var data = {{ d | safe }};
alert(data);
//输出["湖人", "灰熊", "黄蜂", "热火", "尼克斯", "猛龙", "公牛", "快船", "雄鹿", "76人", "小牛", "开拓者", "活塞", "猛龙", "黄蜂", "奇才", "老鹰", "76人", "凯尔特", "火箭", "魔术", "猛龙", "尼克斯"]
</script>

以上这篇解决Python中list里的中文输出到html模板里的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python中requests小技巧

python中requests小技巧

关于  Python requests ,在使用中,总结了一些小技巧把,记录下。 1:保持请求之间的Cookies,我们可以这样做。 2:请求时,会加上headers,一般我...

Python中基本的日期时间处理的学习教程

Python中基本的日期时间处理的学习教程

Python程序能用很多方式处理日期和时间。转换日期格式是一个常见的例行琐事。Python有一个 time 和 calendar 模组可以帮忙。 什么是Tick? 时间间隔是以秒为单位的...

Python算法应用实战之栈详解

Python算法应用实战之栈详解

栈(stack) 栈又称之为堆栈是一个特殊的有序表,其插入和删除操作都在栈顶进行操作,并且按照先进后出,后进先出的规则进行运作。 如下图所示 例如枪的弹匣,第一颗放进弹匣的子弹反而在发...

Python的形参和实参使用方式

形参可以设置参数默认值,设置遵循从右至左原则 例如:fun(x=0,y=1),fun(x,y=1),但不可以是fun(x=1,y) 形参设置可以为数字字符串变量、元组和字典等任意类型数据...

详解Python验证码识别

以前写过一个刷校内网的人气的工具,Java的(以后再也不行Java程序了),里面用到了验证码识别,那段代码不是我自己写的:-) 校内的验证是完全单色没有任何干挠的验证码,识别起来比较容易...