将json对象从django view.py传递到.js文件的正确方法是什么?

时间:2010-08-19 18:05:27

标签: django json

我有一个json对象,我作为模板变量发送到我的html模板。如果我有一个外部.js文件,将它传递给它的最佳方法是什么?

我在另一个线程上读到要在<script>中的<header>标记内声明var,但这会打开安全问题吗?标准方式是什么?

谢谢, 大卫

2 个答案:

答案 0 :(得分:1)

我相信JSON对象可以像任何其他模板变量一样传递给模板。我们假设您将查询集作为JSON传递:

def my_view(request, *args, **kwargs):
    queryset = MyModel.objects.filter(**conditions)
    from django.core.serializers import serialize
    json = serialize("json", queryset)
    context = dict(json = json)
    render_to_response(..., context, ...)

在模板内:

<script>
    var data = {{ json }};
</script>

答案 1 :(得分:0)

我认为标准方法可能是从javascript到你的视图发出ajax请求(我建议使用jQuery)来检索json对象。