Tôi đã cố gắng gọi một khối bên trong một điều kiện nếu trong mẫu django.Chặn cuộc gọi bên trong một điều kiện nếu: django mẫu
Tôi có một số base template
. Tôi có nhiều mẫu khác mở rộng mẫu cơ sở. tôi đã xác định một khối trong mẫu cơ sở:
{% block test_block %}Test{% endblock %}
sau đó tôi muốn ghi đè lên khối này trên một điều kiện nhất định trong các mẫu khác. Nếu điều kiện không thành công, khối không được ghi đè. Đây là nội dung tôi đã viết:
{% if test_value %}{% block test_block %}Development{% endblock %}{% endif %}
Điều này thực sự (hoặc có thể hầu như) bỏ qua điều kiện if.
gì cuối cùng tôi đã làm:
{% block test_block %}{% if test_value %}Development{% else %}{{ block.super }}{% endif %}{% endblock %}
tôi phải làm một cái gì đó như thế này ở khắp mọi nơi nó được yêu cầu.
Đây có phải là cách tốt nhất không? đây có phải cách duy nhất không? Tại sao tôi không thể thử cách đầu tiên của tôi? Hoặc là có bất kỳ sai lầm từ phía tôi?
phiên bản django của bạn là gì? –
Xem thêm http://stackoverflow.com/questions/942797/why-cant-i-nest-a-block-tag-inside-an-if-tag – Bryce
Cảm ơn tôi đã đánh bại đầu của tôi về điều này trong nhiều giờ – pmont