Django - remplacement de l'étiquette de modèle intégrée par une balise personnalisée pour un site entier sans {% load ..%}
-
08-07-2019 - |
Question
Je souhaite remplacer la balise de modèle {% if%}
standard par un " smart if " balise personnalisée de cet extrait , car je ne souhaite pas écrire {% chargez smart_if%}
à chaque fois. En outre, " smart if " entrera dans le système de modèles de base très bientôt .
J'ai oublié où j'ai vu un morceau de code qui fait cela. Est-ce que quelqu'un sait comment remplacer un templatetag intégré?
La solution
Pas une solution complète pour remplacer le " if " tag, mais vous pouvez charger automatiquement les balises de modèle .
Autres conseils
Placez-le dans un endroit où vous savez qu'il sera exécuté:
from django.template import add_to_builtins
add_to_builtins('mysite.myapp.templatetags.smart_if')
... en plaçant smart_if.py contenant le code smart_if à l'emplacement approprié. Cela remplace efficacement le tag if avec " smart if " sur l'ensemble du site.