django -- js 交互


[HTML_REMOVED][HTML_REMOVED]她走了,一位风一般的佳人[HTML_REMOVED][HTML_REMOVED]


前言

django 与 js 的交互主要有两种: - js 不需要处理 - js 需要处理


js 不需要处理

直接使用 django 模板传递


js 需要处理

直接传递使用的话会报错

Uncaught SyntaxError: Unexpected token ILLEGAL

解决方法

  • 视图函数中的字典或列表要用 json.dumps() 处理
  • 在模板上要加 safe 过滤器

views.py

# -*- coding: utf-8 -*-

from __future__ import unicode_literals

import json
from django.shortcuts import render

def home(request):
    List = ['one', 'two']
    return render(request, 'home.html', {
            'List': json.dumps(List)
        })

home.html(部分)

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