Acessando `block` tags parentes em templates Django
Se tem algo que eu admiro muito no sistema de templates do Django, é a tag block, eu acho ela realmente f#!$ pra ca#@!&.
Só que recemente eu descobri algo nela que se eu estivesse em um ato sexual teria resultado em um fork(), que é a possibilidade de acessar o conteúdo antigo da tag antes dela ser sobrescrevida por você.
É extremamente simples, vamos pegar como exemplo o seguinte template `base.html`:
<html>
<head><title>{% block title%}Meu site dahora{% endblock %}</html>
<body>{% block content %}{% endblock %}
</html>
A parte legal fica por conta do bloco title. Até então, sempre que eu quizesse colocar "Meu site dahora | Home" no titulo, eu teria que fazer assim em um template filho:
{% extends "base.html" %}
{% block title %}Meu site dahora | Home{% endblock %}
O problema óbvio nesse caso, é que se um dia eu resolver trocar o titulo pra "O Jardineiro é Jesus", então eu vo ter que editar todo template que extende o template `base.html` pra arrumar isso.
Eis então que surge a solução
{% extends "base.html" %}
{% block title %}{{block.super}} | Home{% endblock %}
Simples e funcional. VIDA LONGA AO DJANGO!
3 Comentário para “Acessando `block` tags parentes em templates Django”
Deixe um comentário |


Ganhou mais pontos ainda.
Muito boa a dica, simples porém “super”.
Kra!!
Descobri seu blog agora, e sinceramente, acho que você consegue sintetizar muito bem as coisas que você aprende!!!
Tem me ajudado a elucidar algumas coisas que ainda eram meio que “obscuras” no Django!!
Valeu !