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'))