Trong views.py của tôi, tôi đang tạo danh sách hai bộ, trong đó mục thứ hai trong tuple là một danh sách khác, như sau:Django - Cách thực hiện giải nén tuple trong một mẫu 'for' loop
[ Product_Type_1, [ product_1, product_2 ],
Product_Type_2, [ product_3, product_4 ]]
trong Python cũ đồng bằng, tôi có thể lặp đi lặp lại trong danh sách như thế này:
for product_type, products in list:
print product_type
for product in products:
print product
tôi dường như không thể làm điều tương tự trong mẫu Django của tôi:
{% for product_type, products in product_list %}
print product_type
{% for product in products %}
print product
{% endfor %}
{% endfor %}
Tôi nhận được lỗi này từ Django:
Caught một ngoại lệ khi render: zip luận # 2 phải hỗ trợ lặp
Tất nhiên, có một số đánh dấu HTML trong mẫu, không in báo cáo. Tuple giải nén không được hỗ trợ trong ngôn ngữ mẫu Django? Hoặc tôi đang đi về điều này một cách sai lầm? Tất cả những gì tôi đang cố gắng làm là hiển thị một hệ thống các đối tượng đơn giản - có một số loại sản phẩm, mỗi loại có một số sản phẩm (trong models.py, Sản phẩm có khóa ngoài là Product_type, một mối quan hệ một-nhiều).
Rõ ràng, tôi khá mới đối với Django, vì vậy mọi đầu vào đều sẽ được đánh giá cao.
Bạn nói về tuples, nhưng câu hỏi của bạn chỉ chứa các danh sách. Chúng là những thứ khác nhau trong python. –
Bạn thực sự không có hai bộ dữ liệu. Xem kỹ danh sách của bạn, bạn có 4 mục danh sách. Như Jonny Buchanan đã lưu ý, bạn cần làm điều này: [[Product_Type_1, [product_1, product_2],], [Product_Type_2, [product_3, product_4],],] để nhận phiên bản danh sách hai bộ. – MontyThreeCard