1

我认为这与使用时间轴的关系不大,而与我构建 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);
},

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

4

1 回答 1

0

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

与此处发现的问题相同:在 django 模板中使用 JSON

看法

from django.utils.safestring import SafeString
...
def load_timeline_events(request):
    ....
    return render('timeline.html', {'EVENTS':SafeString(raw_events)})
于 2012-11-28T19:39:49.780 回答