Tôi đang cố chuyển một từ điển sang mẫu django. Trong giao diện django, biến được khởi tạo và thông qua như vậy:django: hiển thị biến có bộ lọc an toàn mà không có trình định kiểu kiểu 'u' unicode
foo = {'a':'b'}
...
return render(request, 'template.html', {'foo': str(foo)}
trong mẫu, tôi có
{{ foo|default:"{}"|safe}}
Trong trường hợp nó có liên quan, tôi có dòng trên trong một đoạn jquery. Đoạn đó là thất bại vì dict đang được trả lại như
[{'a': u'b'}]
thay vì những gì tôi mong đợi:
[{'a': 'b'}]
Có vẻ như bộ lọc an toàn không được tháo unicode u trước giá trị dict 'b'. Làm thế nào để làm điều đó?
'trở lại làm (yêu cầu, 'template.html', {'foo': foo.encode ("utf8")} ' – catherine
@catherine foo (từ điển) có phương pháp mã hóa không? Tôi không nghĩ vậy. Trong mọi trường hợp, tôi đã thử str (foo) .encode ("utf8"), và điều đó vẫn không hoạt động – Neil
Bạn có ý định hiển thị dict là JSON không? Nếu vậy, có những lựa chọn tốt hơn. – valtron