Điều này có thể đơn giản, nhưng tôi đã nhìn xung quanh và không thể tìm thấy câu trả lời. Cách tốt nhất để tham chiếu một mục trong danh sách từ mẫu Django là gì?
Nói cách khác, làm cách nào để làm tương tự với {{ data[0] }}
ngôn ngữ mẫu?
Cảm ơn.
Điều này có thể đơn giản, nhưng tôi đã nhìn xung quanh và không thể tìm thấy câu trả lời. Cách tốt nhất để tham chiếu một mục trong danh sách từ mẫu Django là gì?
Nói cách khác, làm cách nào để làm tương tự với {{ data[0] }}
ngôn ngữ mẫu?
Cảm ơn.
Câu trả lời:
Nó trông giống như {{ data.0 }}
. Xem Biến và tra cứu .
Một cách tốt hơn: bộ lọc mẫu tùy chỉnh: https://docs.djangoproject.com/en/dev/howto/custom-template-tags/
chẳng hạn như lấy my_list [x] trong các mẫu:
trong mẫu
{% load index %}
{{ my_list|index:x }}
templatetags / index.py
from django import template
register = template.Library()
@register.filter
def index(indexable, i):
return indexable[i]
nếu my_list = [['a','b','c'], ['d','e','f']]
, bạn có thể sử dụng {{ my_list|index:x|index:y }}
trong mẫu để lấymy_list[x][y]
Nó hoạt động tốt với "for"
{{ my_list|index:forloop.counter0 }}
Đã kiểm tra và hoạt động tốt ^ _ ^
{% for id in article_details.heading.contents.article_ids %} {% if id.type == 'DOI' %} {{ article_details.heading.contents.article_ids.forloop.counter0.value }} {% endif %} {% endfor %}
{{ data.0 }}
nên làm việc.
Giả sử bạn đã viết data.obj
django cố gắng data.obj
và data.obj()
. Nếu chúng không hoạt động, nó sẽ cố gắng data["obj"]
. Trong trường hợp của bạn data[0]
có thể được viết là {{ data.0 }}
. Nhưng tôi khuyên bạn nên kéo data[0]
chế độ xem và gửi nó dưới dạng biến riêng biệt.
@ jennifer06262016, bạn chắc chắn có thể thêm một bộ lọc khác để trả về các đối tượng bên trong Bộ truy vấn django.
@register.filter
def get_item(Queryset):
return Queryset.your_item_key
Trong trường hợp đó, bạn sẽ nhập một cái gì đó như sau {{Queryset | index: x | get_item}} vào mẫu của bạn để truy cập một số đối tượng từ điển. Nó làm việc cho tôi.
{{ data.foo }}
, đâufoo
là một biến có giá trị chỉ mục trong đó chứ không phải tên thuộc tính.