1、前提:
Python数据类型和JQuery数据类型相互转换时都需要通过序列化,以下我们将通过JSON来完成序列化,
1:在Python环境中Python类型与Json数据类型互相转换:
Python ----> Json:(注意import json)json.dumps(data),data为Python数据类型
Json ----> Python:json.loads(data),data为Json字符串
2:在JQuery环境中jQuery数据类型与Json数据类型互相转换:
Jquery ----> Json:JSON.stringify(data),data为Jquery数据类型
Json ----> Jquery:JSON.parse(data),data为Json字符串
2、Django中渲染数据
COMMODITY_TYPE = {
"女装 / 内衣": ["当季流行", "精选上装", "浪漫裙装", "特色女装"],
"男装 / 户外运动": ["潮流男装", "男士外套", "男士内搭", "特色男装"],
"女鞋 / 男鞋 / 箱包": ["推荐女鞋", "潮流女鞋", "潮流男鞋", "潮流女包", "功能箱包", "精品男鞋"],
"家用电器": ["电视", "空调", "厨卫大电", "厨卫小电", "生活电器", "个护健康"],
"手机数码 / 电脑办公": ["热门手机", "智能数码", "电脑整机", "手机特惠"],
"美妆 / 个人护理": ["面部护肤", "香水彩妆", "洗发护发", "口腔护理"],
"图书 / 文娱 / 教育 / 电子书": ["教材教辅", "人文社科", "教育培训", "经管励志"],
"家居 / 家具 / 家装 / 厨具": ["精品沙发", "卧室家具", "厨房用具", "全屋定制"],
"零食 / 茶酒 / 进口食品": ["进口食品", "休闲零食", "高档白酒", "精装红酒", "精品茶叶"],
"汽车 / 配件 / 用品": ["坐垫脚垫", "美容清洗", "汽车装饰", "车载电器", "机油轮胎"],
"家纺 / 家饰 / 鲜花": ["当季热卖", "床上用品", "家居饰品", "居家布艺", "鲜花绿植"],
}
def commodityManage(request):
import json
return render(request, "shop/commodityManage.html", {"commodityClass":json.dumps(COMMODITY_TYPE)})
3、模板语言中指定渲染数据位置
说明:转换为jQuery数据类型是,指定位置应该为js脚本中,并定义变量来接收存放数据,在如下代码中,{{ commodityClass|safe }}为待渲染的Json字符串,在HTML代码中需要使用' '单引号包围起来,这样JSON.parse()才能起作用,同时,需要使用过滤器safe指定代码安全,保证Json字符串数据代码在传输前不会被转义。
<script>
var commodityClass = JSON.parse('{{ commodityClass|safe }}');
</script>