Tôi đang chuyển đến mẫu của Django một hàm, trả về một số bản ghi. Tôi muốn gọi hàm này và lặp lại kết quả của nó.Làm thế nào để gọi hàm có một đối số trong một mẫu Django?
{% for item in my_func(10) %}
Điều đó không hiệu quả. Tôi đã cố gắng đặt giá trị trả về của hàm thành một biến và lặp qua biến, nhưng dường như không có cách nào để đặt biến trong mẫu Django.
Có cách nào bình thường để làm điều đó không?
Rất buồn. Tôi muốn có một cách đơn giản hơn. – cleg
Tôi nghĩ rằng giải pháp với python dựng sẵn '@ property' là giải pháp tốt hơn, tất nhiên, tùy thuộc vào tình huống. – jrast
có, tuy nhiên điều đó không giải quyết được vấn đề. Django tự động gọi các hàm nếu chúng không yêu cầu đối số.Viết '{% cho mục trong myfunc%}' tương đương với 'cho mục trong myfunc()' nếu myfunc là một hàm không có đối số. Hạn chế thực sự duy nhất với django là gọi hàm mà yêu cầu đối số, mà '@ property' không giải quyết (mặc dù thừa nhận rằng bạn có thể đặt một số thuộc tính trong mẫu và sử dụng chúng làm đối số, nhưng điều đó không rõ ràng) – matts1