Pour utiliser HTMX, on a besoin de renvoyer des fragments depuis le backend. Le truc, c'est que tout est optimisé pour utiliser `base.jinja` qui est assez gros. Dans beaucoup de scénario, on veut pouvoir renvoyer soit la vue complète, soit juste le fragment. En particulier quand on utilise l'attribut `hx-history` de htmx. Pour remédier à cela, il existe le mixin [AllowFragment][core.views.AllowFragment]. Une fois ajouté à une vue Django, il ajoute le boolean `is_fragment` dans les templates jinja. Sa valeur est `True` uniquement si HTMX envoi la requette. Il est ensuite très simple de faire un if/else pour hériter de `core/base_fragment.jinja` au lieu de `core/base.jinja` dans cette situation. Exemple d'utilisation d'une vue avec fragment: ```python from django.views.generic import TemplateView from core.views import AllowFragment class FragmentView(AllowFragment, TemplateView): template_name = "my_template.jinja" ``` Exemple de template (`my_template.jinja`) ```jinja {% if is_fragment %} {% extends "core/base_fragment.jinja" %} {% else %} {% extends "core/base.jinja" %} {% endif %} {% block title %} {% trans %}My view with a fragment{% endtrans %} {% endblock %} {% block content %}