Vấn đề là nếu tôi gọi một templatetag thành một khối và nó điền vào tôi một biến thể với ngữ cảnh thông thường [varname] = something, thì nếu tôi cần biến đó chặn, tôi phải gọi lại lần nữa là templatetag. Điều này cho tôi có nghĩa là các truy vấn db bổ sung, thực sự là điều tôi đang cố tránh.Phạm vi Django templatetag buộc tôi phải thực hiện thêm các truy vấn
templatetag này được gọi trong một mẫu cơ sở được mở rộng bởi nhiều mẫu khác, vì vậy tôi không thể chỉ thay đổi tất cả các quan điểm để vượt qua một cái gì đó với bối cảnh, nó làm cho không có ý nghĩa (nguyên tắc WET?)
Ngay cả bộ xử lý ngữ cảnh sẽ không tốt vì tôi không muốn gọi cho mỗi trang được hiển thị trên trang web, ngay cả những trang không dựa trên trên mẫu đó.
Tôi đã suy nghĩ về cách viết một templatetag mà sẽ sử dụng các cấu trúc ngữ cảnh nội bộ để đặt biến trong bối cảnh toàn cầu, nhưng tôi cảm thấy quá tội lỗi khi làm điều đó.
Bạn giải quyết vấn đề này như thế nào?
Bộ nhớ đệm ở đây trông giống như bắn một con bướm bằng súng máy! –