Estoy siguiendo este tutorial sobre la creación de un blog básico utilizando Django CMS y me encuentro con un comportamiento extraño. Todo comenzó cuando descubrí que no se estaba creando el área de Contenido en la sección Estructura del CMS. Mientras lo investigaba, descubrí el extraño comportamiento.
Aquí está.
base.html:
<!-- Main Content --> <div class="container"> <div class="row"> <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1"> {% block content %}{% endblock %} </div> </div> </div> <hr>contenido.html:
{% extends "base.html" %} {% load cms_tags %} {% block content %} {% placeholder content or%} {% endplaceholder %} {% endblock content %}Esta configuración anterior no muestra ningún bloque de contenido en la página Estructura del CMS. Sin embargo, si cambio el fragmento base.html a lo siguiente, funciona.
base.html:
<!-- Main Content --> <div class="container"> <div class="row"> <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1"> {% placeholder content or%} {% endplaceholder %} </div> </div> </div> <hr>¿Alguien podría decirme por qué sucede esto? ¿Qué me estoy perdiendo en cómo Django maneja los bloques de plantilla? Me parece que los dos casos deben tratarse de manera idéntica. Sin embargo, el resultado es obviamente diferente. El tutorial afirma que debería cambiar el lado content.html. Sin embargo, como se ilustra arriba, eso no funciona.
¡Cualquier aclaración es apreciada!
Pude resolver esto usando las siguientes modificaciones.
base.html:
<!-- Main Content --> {% placeholder content or %} <div class="container"> <div class="row"> <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1"> {% block content %}{% endblock %} </div> </div> </div> <hr> {% endplaceholder %}contenido.html:
{% extends "base.html" %} {% load cms_tags %} {% block content %} {% endblock content %}