Ответ Пойнти правильный. Я часто нахожу этот фильтр полезным для этой ситуации:
@register.filter(name='json')
def _json(obj):
#remember to make sure the contents are actually safe before you use this filter!
return safestring.mark_safe(json.dumps(obj))
тогда в теге <script>
я могу сделать что-то вроде этого:
window.g_details = {{ details|json }};