Sto provando a passare un dizionario a un modello django. Nella vista Django, la variabile viene inizializzata e passato come tale:django: rendering di una variabile con filtro sicuro senza codifica 'u' di tipo identificatore
foo = {'a':'b'}
...
return render(request, 'template.html', {'foo': str(foo)}
Nel modello, ho
{{ foo|default:"{}"|safe}}
Nel caso in cui sia rilevante, ho la linea di cui sopra in un frammento di jQuery. Questo frammento sta fallendo perché il dict viene reso come
[{'a': u'b'}]
invece di quello che mi aspetto:
[{'a': 'b'}]
Sembra il filtro di sicurezza non sta rimuovendo l'unicode u precede il valore dict 'b'. Come lo faccio?
'render ritorno (richiesta, 'template.html', {'foo': foo.encode ("utf8")} ' – catherine
@catherine fa pippo (un dizionario) ha un metodo di codifica? Io non la penso così In ogni caso, ho provato str (foo) .encode ("utf8"), e che non funziona ancora – Neil
Intendi renderizzare il dict come JSON? Se è così, ci sono opzioni migliori. – valtron