python flask render_template json参数有中文的问题

本文介绍了一种在Python Flask框架中解决中文参数显示问题的方法。通过设置app.config[JSON_AS_ASCII]=False并利用|tojson过滤器,可以在渲染模板时正确显示含有中文的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近学习python flask框架,这个框架简洁容易,非常适合用于PYTHON程序的界面化开发,既给python程序套一个图形化的壳子。在使用过程中发现调用render_template给模板网页传参数的时候,如果直接用json里面如果有中文就会有问题。

最后解决方法为:

1、在主程序中增加app.config["JSON_AS_ASCII"] = False

from flask import Flask, redirect, url_for, request,render_template,jsonify
import json
import sys
app = Flask(__name__)
app.config["JSON_AS_ASCII"] = False

@app.route('/')
def SyncDatabase():
	syncdb_tab=[['未录入同步库','等待','中文','','']]
	system_dict["tab_data"]=syncdb_tab
	return render_template('SyncDatabase.html',parameter_dict=system_dict)

if __name__ == '__main__':
	app.run(host='0.0.0.0',port=5000,debug=True)

2、在模板网页中增加|tojson

				<script type="text/javascript">
				var showdata ={{ parameter_dict["tab_data"]|tojson }};
				</script>

这下就完美解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值