【发布时间】:2015-10-03 18:23:31
【问题描述】:
我想将一些数据(dict 格式)从视图传递到模板。然后在模板中我想把它转换成json格式,这样就可以在javascript中使用了。但我尝试使用 json 过滤器,结果证明它不是 django 中的有效过滤器。我也尝试像这样在上下文字典中使用传递 json 数据,但我在模板中收到错误,它说数据不是 JSON 可序列化的。我知道有一种方法可以进行另一个 ajax 调用来获取 json 数据。但我想在初始调用中获取数据。
items = models.Model1.objects.all()
itmes = json.dumps(items)
return render(request, "index.html", {"items":items})
我尝试使用的模板是
<script type="text/javascript">
var data = {{ items}};
$('#table').DataTable( {
data: data,});
</script>
# model
class Model1(models.Model):
token = models.CharField(max_length=100)
flag = models.BooleanField(default = False)
【问题讨论】:
-
你需要显示数据。
-
你为什么不使用模型序列化器?
-
错误很明显:查询集不能直接 JSON 序列化,因为
json库对 Django 查询集一无所知。这就是为什么,正如 Ignacio 指出的那样,我们拥有完整记录的模型序列化程序。