2009-09-25 38 views
63

Khá đơn giản. Tôi có một danh sách Python mà tôi đang đi đến một mẫu Django.Django Templating: cách truy cập các thuộc tính của mục đầu tiên trong danh sách

Tôi đặc biệt có thể truy cập vào mục đầu tiên trong danh sách này sử dụng

{{ thelist|first }} 

Tuy nhiên, tôi cũng muốn truy cập vào một tài sản của mục đó ... lý tưởng bạn nghĩ rằng nó sẽ trông như thế này:

{{ thelist|first.propertyName }} 

Nhưng than ôi, nó không có.

Có bất kỳ mẫu giải pháp này, hay tôi chỉ cần đi để thấy mình đi qua thêm một mẫu biến ...

Trả lời

129

Bạn có thể truy cập vào bất kỳ mục trong một danh sách qua số chỉ số của nó. Trong một bản mẫu này hoạt động giống như bất kỳ tìm kiếm tài sản khác:

{{ thelist.0.propertyName }} 
+0

Hmm. điều này không làm việc với một inline_admin_formset tuy nhiên. Tôi đoán iterator doesnt làm việc như thế nào tôi mong đợi nó. – Shayne

+0

Xin chào Daniel, Bạn có thể kiểm tra câu hỏi của tôi liên quan đến mẫu/xem http://stackoverflow.com/questions/34791375/how-to-use-render-to-response-to-render-a-html-page-within- div-in-django? – Sathish

+0

Điều này tốt hơn nhiều so với vòng lặp 'for' để đi qua từng thông báo lỗi. Cảm ơn! – IIllIIll

25

Bạn có thể kết hợp with mẫu thẻ với first mẫu bộ lọc để truy cập tài sản.

{% with thelist|first as first_object %} 
    {{ first_object.propertyname }} 
{% endwith %} 
+0

Đối với một từ điển, trước tiên trả về một bộ tuple cho cặp khóa/giá trị, nó hơi xấu xí nhưng tôi đã thêm một từ khác với câu lệnh để chỉ nhận các giá trị. {% với thelist | đầu tiên là first_object%} {% với first_object.1 là đối tượng%} {{object}} {% endwith%} {% endwith%} –

14

Nếu bạn đang cố gắng truy cập vào một lĩnh vực manytomany, hãy nhớ thêm all, vì vậy nó sẽ trông giống như object.m2m_field.all.0.item_property

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