У меня есть два типа статей в блогах. Регулярные статьи блога и перевод статей. Они оба имеют разную HTML-разметку. У меня есть булева переменная translation_bool
в моих моделях, чтобы проверить, переводная это статья или нет. Если это так, я хочу, чтобы он отображал мой {% block translation %}
, а если нет {% block translation %}
. Он работал с простым HTML-кодом и не использовал HTML-теги. Но у меня было так много кода многократного использования, что им было трудно управлять.
Итак, мой вопрос: почему это происходит, несмотря на то, что оно находится внутри оператора if.
Шаблон статьи :
{% extends "base_generic.html" %}
{% load static %}
{% block js %}...{% endblock %}
{% if blogpost.translation_bool == True %}
{% block translation %}....{% endblock %}
{% else %}
{% block content %}...{% endblock %}
{% endif %}
{% block sidebar %}....{% endblock %}
В Базовый базовый шаблон :
<div class="row">
<div class="col-md-1"></div>
<div class="col-md-8">
{% block content %}{% endblock %}
{% block translation %}{% endblock %}
</div>
<div class="col-md-3">
{% block social_media %}...{% endblock %}
{% block sidebar %}...{% endblock %}
</div>
</div>
</body>