Lihat https://github.com/mitsuhiko/jinja2/pull/84#issuecomment -19208621 untuk detailnya.
Dikembalikan, akan berada di rilis pemeliharaan berikutnya.
Apakah ini pernah diperbaiki? Saya masih mengalami bug ini (sama seperti #169 dan #84).
Bugnya masih ada.
Bug ini telah diperbaiki. Awalnya #84 memperkenalkan penggantian blok dalam tag sertakan dan kemudian digabungkan, tetapi sejak itu telah merusak beberapa pengaturan template (rekursi pada blok duplikat), karenanya masalah ini.
Karena perilaku templat tidak boleh diubah, @mitsuhiko mengembalikan tambalan.
Jika Anda ingin mendukung penggantian blokir, harap buat masalah baru, dan mungkin solusi kerja yang diusulkan.
Seharusnya sangat mudah untuk menyediakan penyertaan dengan penggantian blok sambil menjaga kompatibilitas implementasi penyertaan saat ini hanya dengan menggunakan nama tag templat yang berbeda:
{% include 'file.jinja2' %}
tidak menimpa blok yang disertakan, sementara:
{% include_override 'file.jinja2' %}
melakukan hal yang sama.
Sangat aneh bahwa fungsionalitas seperti itu tidak diimplementasikan untuk waktu yang lama, mengetahui bagaimana Jinja2 sangat kuat di sebagian besar fitur, bahkan salah satu mesin templat terbaik, bukan hanya untuk Python.
Apalagi jika sebenarnya sudah ada patch yang dilakukan.
Komentar yang paling membantu
Seharusnya sangat mudah untuk menyediakan penyertaan dengan penggantian blok sambil menjaga kompatibilitas implementasi penyertaan saat ini hanya dengan menggunakan nama tag templat yang berbeda:
tidak menimpa blok yang disertakan, sementara:
melakukan hal yang sama.
Sangat aneh bahwa fungsionalitas seperti itu tidak diimplementasikan untuk waktu yang lama, mengetahui bagaimana Jinja2 sangat kuat di sebagian besar fitur, bahkan salah satu mesin templat terbaik, bukan hanya untuk Python.
Apalagi jika sebenarnya sudah ada patch yang dilakukan.