Tôi nhận được một mảng arr
được chuyển đến mẫu Django của tôi. Tôi muốn truy cập các phần tử riêng lẻ của mảng trong mảng (ví dụ :) arr[0]
, arr[1]
v.v. thay vì lặp qua toàn bộ mảng.
Có cách nào để làm điều đó trong một mẫu Django không?
Tôi nhận được một mảng arr
được chuyển đến mẫu Django của tôi. Tôi muốn truy cập các phần tử riêng lẻ của mảng trong mảng (ví dụ :) arr[0]
, arr[1]
v.v. thay vì lặp qua toàn bộ mảng.
Có cách nào để làm điều đó trong một mẫu Django không?
Câu trả lời:
Hãy nhớ rằng ký hiệu dấu chấm trong mẫu Django được sử dụng cho bốn ký hiệu khác nhau trong Python. Trong một mẫu, foo.bar
có thể có nghĩa là bất kỳ:
foo[bar] # dictionary lookup
foo.bar # attribute lookup
foo.bar() # method call
foo[bar] # list-index lookup
Nó thử chúng theo thứ tự này cho đến khi tìm thấy một trận đấu. Vì vậy, foo.3
sẽ giúp bạn có được chỉ mục danh sách của mình vì đối tượng của bạn không phải là một dict với 3 là khóa, không có thuộc tính có tên 3 và không có phương thức có tên 3.
foo['bar']
?
arr.0
arr.1
Vân vân.
Bạn có thể truy cập các phần tử chuỗi với Array.0 Array.1, v.v. Xem chương hệ thống mẫu Django của cuốn sách django để biết thêm thông tin.
khi bạn render
yêu cầu coctext
một số thông tin: cho exampel:
return render(request, 'path to template',{'username' :username , 'email'.email})
bạn có thể truy cập nó trên mẫu như thế này:
for variabels :
{% if username %}{{ username }}{% endif %}
for array :
{% if username %}{{ username.1 }}{% endif %}
{% if username %}{{ username.2 }}{% endif %}
bạn cũng có thể đặt tên cho các đối tượng mảng views.py
và mười sử dụng nó như sau:
{% if username %}{{ username.first }}{% endif %}
nếu có vấn đề khác tôi muốn giúp bạn
arr.0
,arr.1
... Một giải pháp khác: viết thẻ mẫu của riêng bạnarr|array_item: "0"
hoặc đại loại như thế này.