Здесь нет ничего плохого в Джанго. Тем не менее, будет сложно предоставить вам соответствующее решение, так как мы на самом деле не знаем, чего вы пытаетесь достичь.
В любом случае, вызов {{ vote_dict }}
вызовет указанный dict's __str__
метод, который является общим шаблоном {key_repr:value_repr}
.
Если вы должны были сделать следующее:
{% for key, value in vote_dict.items %}
{{ key }} : {{ value }}
{% endfor %}
Вы получите то, что ожидаете, без L
.
В sidenote alert({{vote_dict}})
почти всегда вызывает ошибку JS: параметр alert
должен быть строкой.
Относительно совместимости с Django - JS
Если то, что вы пытаетесь достичь, - это беспрепятственно передавать элементы Django в функции JS (что действительно может быть возможно с list
экземплярами), вы можете определить фильтр шаблона, который будет возвращать то, что вам нужно.
Для списка (или любого итератора, который вы хотите представить в виде списка) вы можете использовать следующее:
def js_list(iterable):
return '[%s]' % ', '.join(str(item) for item in iterable)