解决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设计】。

相关文章

python2和python3实现在图片上加汉字的方法

python2和python3实现在图片上加汉字的方法

python2和python3实现在图片上加汉字,最主要的区别还是内部编码方式不一样导致的,在代码上表现为些许的差别。理解了内部编码原理也就不会遇到这些问题了,以下代码是在WIN10系统...

Python判断对象是否为文件对象(file object)的三种方法示例

文件操作是开发中经常遇到的场景,那么如何判断一个对象是文件对象呢?下面我们总结了3种常见的方法。 方法1:比较类型 第一种方法,就是判断对象的type是否为file >>...

Python实现基本数据结构中队列的操作方法示例

Python实现基本数据结构中队列的操作方法示例

本文实例讲述了Python实现基本数据结构中队列的操作方法。分享给大家供大家参考,具体如下: #! /usr/bin/env python #coding=utf-8 class Q...

python中logging库的使用总结

前言 最近因为工作的需要,在写一些python脚本,总是使用print来打印信息感觉很low,所以抽空研究了一下python的logging库,来优雅的来打印和记录日志,下面话不多说了,...

Python中使用PIPE操作Linux管道

Python中使用PIPE操作Linux管道

Linux中进程的通信方式有信号,管道,共享内存,消息队列socket等。其中管道是*nix系统进程间通信的最古老形式,所有*nix都提供这种通信方式。管道是一种半双工的通信机制,也就是...