Próbuję przekazać słownik do szablonu django. W widoku django, zmienna jest inicjowany i przekazany jako takie:django: renderowanie zmiennej z bezpiecznym filtrem bez oznaczenia typu "u" Unicode
foo = {'a':'b'}
...
return render(request, 'template.html', {'foo': str(foo)}
w szablonie mam
{{ foo|default:"{}"|safe}}
w przypadku jest to istotne, mam powyższą linię urywek jQuery. Że urywek się niepowodzeniem, ponieważ dict jest renderowany jako
[{'a': u'b'}]
zamiast czego oczekuję:
[{'a': 'b'}]
Wydaje się, że bezpieczny filtr nie jest usunięcie Unicode U poprzedniej wartości dict „B”. Jak mogę to zrobić?
'powrót renderowanie (request, 'template.html', {'foo': foo.encode ("utf8")} ' – catherine
@ catherine does foo (słownik) ma metodę kodowania? Nie sądzę. W każdym razie próbowałem str (foo) .encode ("utf8"), a to nadal nie działa – Neil
Czy chcesz renderować dykta jako JSON? Jeśli tak, są lepsze opcje. – valtron