Python Flask中将List中文输出至HTML模板的解决方案

程一诺
程一诺
发布时间:2026-10-13 | 4人浏览过
原创

本文介绍在Python Flask框架中,如何将包含中文字符的List数据正确输出到HTML模板的JavaScript中。通过json.dumps设置ensure_ascii=False避免Unicode编码,并在Jinja2模板中使用safe过滤器处理变量,确保中文数据在JS中正常解析与显示。

近期在进行数据分析功能开发时,遇到一个棘手问题:需要将Python List中的中文字符以数组形式传递到HTML模板内的JavaScript代码中处理。若直接输出,模板会将中文转换为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 相关产品和应用

全部下载

专题列表