Django какой шаблон расширять с помощью блока if
У меня есть два разных шаблона, которые должны быть расширены на трех разных страницах.
Есть ли решение для расширения шаблона с помощью if block
?
Я пробовал это без успеха.
{% if 'project' in request.get_full_path %}
{% extends 'index.html' %}
{% elif 'network' in request.get_full_path %}
{% extends 'base.html' %}
{% elif 'zoneset' in request.get_full_path %}
{% extends 'base.html' %}
{% endif %}
{% load crispy_forms_tags %}
{% block title %} Network {% endblock title %}
{% block content %}
<div class="row">
<div class="col-md">
<div class="card card-body">
<h6>Update</h6>
<form class="" action="" method="post" enctype="multipart/form-data">
{% csrf_token %}
{{form|crispy}}
<input type="submit" name="" value="Update">
</form>
</div>
</div>
</div>
{% endblock %}
Если вы работаете с наследованием шаблонов, {% extends … %}
[Django-doc] должен быть первым тегом шаблона. Вы не можете использовать блок {% if … %}
, также не стоит определять родителя на основе полного пути запроса.
Вы можете сделать это в представлении и работать с:
def my_view(request):
context = { 'parent': 'index.html' }
return render(request, 'my_template.html', context)
и затем в шаблоне используйте:
{% extends parent %}
…