Tengo dos plantillas distintas que deben extenderse en tres páginas diferentes. ¿Hay alguna solución para extender una plantilla con if block ? Intenté esto sin éxito.
{% 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 %}Si trabaja con la herencia de plantillas, {% extends … %} [Django-doc] debería ser la primera etiqueta de plantilla. No puede usar un bloque {% if … %} , ni es una buena idea detectar el padre en función de la ruta completa de la solicitud.
Puede hacer esto en la vista y trabajar con:
def my_view(request): context = { 'parent': 'index.html' } return render(request, 'my_template.html', context)y luego en el uso de la plantilla:
{% extends parent %} …