2013-03-14 17 views
10

Tôi có một cuốn từ điển trong mẫu của tôi mà tôi muốn lặp qua theo cách thông thườngDjango mẫu lặp trên dictionary.items với "mặt hàng" như chìa khóa

{% for key, value in dictionary.items %} 

Nhưng trong từ điển Tôi có một phím gọi 'items', vì vậy vòng lặp của tôi trả về giá trị của từ điển ['items'] và cố gắng giải nén kết quả là khóa, giá trị.

Làm cách nào tôi có thể yêu cầu Django sử dụng chức năng items thay vì truy cập khóa?

+1

từ 'mục' quá chung chung, có thể bạn nên cố gắng tìm tên cụ thể hơn cho khóa của mình, nó sẽ tránh được sự cố này và làm cho mã của bạn dễ đọc hơn –

+1

Vấn đề của tôi là tôi không tạo khóa bản thân tôi nhưng đã nhận chúng từ một API bên ngoài. Tôi chỉ muốn in tất cả các cặp khóa-giá trị độc đáo để xem. – olofom

Trả lời

8

Gọi dictionary.iteritems để thay thế? Tôi không nghĩ có cách nào tốt hơn.

Nếu bạn không có quyền kiểm soát các khóa từ điển, cách an toàn duy nhất là thẻ tùy chỉnh để lặp qua các mã lệnh.

+0

Cảm ơn rất nhiều, bạn đã cứu mạng tôi. Tôi chỉ không thể tin rằng tôi đã không cố gắng lặp lại mysfelf và rằng tôi không thể tìm thấy rằng trong các tài liệu: / – olofom

Các vấn đề liên quan