1

これは、タイムラインの使用とは関係がなく、JSONオブジェクトの作成方法とは関係がないと思います。

SimileTimelineウィジェットを含むテンプレートがあります。データがテンプレートにハードコードされているが、それは面白くない場合は、すべてうまくいきます...

これが、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 に答える