django前后端数据传递

在Django开发中,当需要将后端数据传递给前端JS进行二次处理时,通常会遇到数据转换的问题。通过在views.py中使用json模块的dumps方法,将变量转化为JSON格式。然而,如果数据来自MySQL数据库且不是list或dict类型,会导致转换失败。解决办法是在转换前先将数据转换为list类型。

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

django开发过程中,需要从后端传递变量到前端,开始只是给html用,并没有什么问题,后来数据传到前端后还要二次处理,因此需要直接传递给js使用

views.py中,引入json模块,使用json.dumps()方法对变量进行转换

import json
from django.shortcuts import render
 
def home(request):
    name_list = ['Callrecords', 'Riderecords', 'Clubinfo', 'Clubmemb', 'Personinfo']
    return render(request, 'home.html', {'List': json.dumps(name_list )})

js代码

<script type="text/javascript">
var Dict = {{ List|safe }};
</script>

注意一定要加safe方法过滤!


由于我实际操作过程中是从mysql数据库中读取记录传递给前端

    form_list = models.Clubmemb.objects.values_list('serialnum', 'name', 'id', 'club', 'close_to')
    return render(request, "mysql/detail.html", {"form_list": json.dumps(form_list)})

这样传递过去之后报错,因为form_list不是list和dic类型,无法成功转换成json格式,不过也不要紧,只要用list()方法转换成list类型即可

    form_list = list(models.Clubmemb.objects.values_list('serialnum', 'name', 'id', 'club', 'close_to'))

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值