Django将JSON传递给Simile时间线

时间:2012-11-27 16:43:30

标签: django json simile

我认为这与使用时间轴和我正在构建JSON对象的方式不太相关。

我有一个包含Simile Timeline小部件的模板。一切都很好当数据被硬编码到模板中但没有乐趣......

以下是我如何构建JSON事件并将其传递给视图。

视图

def load_timeline_events(request):
  raw_events = [{
      "title" : "Data",
      "color" :"red",
      "start" : "0020-01-01",
      "end" : "0022-01-01",
      "description" : "20 - 22"
    },
    {
      "title" : "Log",
      "color" :"blue",
      "start" : "0002-01-01",
      "end" : "0016-01-01",
      "description" : "2 - 16"
    }]
return render('timeline.html', {'EVENTS':json.dumps(raw_events)})

模板

load_events : function() {
    timeline.events.loadJSON({
        "events" : {{ EVENTS }},
        "dateTimeFormat" : "iso8601"
    }, timeline.base_uri);
},

没有返回任何错误,只是一个空白的时间轴框。

1 个答案:

答案 0 :(得分:0)

在将字典传递给模板之前需要强制转换为SafeString。无需使用 json 模块。

此处发现的问题相同:Using JSON in django template

视图

from django.utils.safestring import SafeString
...
def load_timeline_events(request):
    ....
    return render('timeline.html', {'EVENTS':SafeString(raw_events)})