<html>
<head>
<title>{% block title %}{% endblock %}</title>
</head>
<body>
<h1>{% block title %}{% endblock %}</h1>
</body>
</html>
Ceci est mon modèle, plus ou moins. L'en-tête h1 est toujours le même que l'étiquette de titre. L'extrait de code ci-dessus n'est pas valide car il ne peut pas y avoir deux blocs portant le même nom. Comment puis-je gérer cela sans me répéter?Quel est le meilleur moyen de dupliquer des données dans un modèle django?
modifier pour clarifier: J'ai une tonne de modèles d'enfants qui sont hérités de celui-modèle, et ainsi faire une nouvelle variable {{title}} pour chaque modèle n'est pas une très bonne solution. Auparavant, je l'avais mis en place comme ceci:
base.html:
<title>{% block title %}{% endblock %}</title>
puis dans base_view.html (extension base.html):
<h1>{% block title %}{% endblock %}</h1>
puis dans base_object.html (extension base_view.html):
{% block title %}my title goes here{% endblock %}
et cela a juste fonctionné. J'ai refacturé mes templates donc theres juste base.html, et base_object.html Comment puis-je récupérer cette fonctionnalité?
Ce n'est pas ainsi que Django devrait être utilisé. –
@Frank Crook: Vous voulez vous expliquer? –
@csunwold: Je n'ai pas vraiment le temps, ou j'aurais juste répondu à la question. Pour être bref, la question vient de quelqu'un qui a une incompréhension fondamentale de la façon dont les blocs et l'héritage fonctionnent dans le système de templates de Django. Votre réponse ne clarifie pas cela pour eux, mais elle saute complètement sur le sujet des blocs et de l'héritage et montre un exemple où ils ne sont pas utilisés du tout. –