Để minh họa cho câu hỏi của tôi rõ ràng hơn, chúng ta hãy giả sử tôi có một mẫu include.html với nội dung:Mẫu Django: Tại sao khối trong mẫu được bao gồm không thể được ghi đè bởi mẫu con?
{% block test_block %}This is include{% endblock %}
Tôi có một mẫu gọi là parent.html với nội dung như thế này:
This is parent
{% include "include.html" %}
Bây giờ tôi tạo một template được gọi là child.html mở rộng parent.html:
{% extends "parent.html" %}
{% block test_block %}This is child{% endblock %}
Ý tưởng của tôi là khi rendering child.html, test_block in ch ild.html có thể ghi đè lên một trong include.html. Theo hiểu biết của tôi, khi một mẫu được bao gồm, nó được bao gồm như nó được. Vì vậy, trong trường hợp của tôi, tôi nghĩ parent.html bằng:
This is parent
{% block test_block %}This is include{% endblock %}
Vì vậy child.html sẽ có thể ghi đè test_block. Nhưng có vẻ như nó không thể. Tại sao? Có cách giải quyết nào không?