mirror of
https://github.com/ae-utbm/sith.git
synced 2025-07-09 19:40:19 +00:00
Add documentation for htmx
This commit is contained in:
@ -200,6 +200,19 @@ Grâce à son architecture, il est extrêmement
|
||||
bien adapté pour un usage dans un site multipage.
|
||||
C'est une technologie simple et puissante qui se veut comme le jQuery du web moderne.
|
||||
|
||||
### Htmx
|
||||
|
||||
[Site officiel](https://htmx.org/)
|
||||
|
||||
En plus de AlpineJS, l’interactivité sur le site est augmenté via Htmx.
|
||||
C'est une librairie js qui s'utilise également au moyen d'attributs HTML à
|
||||
ajouter directement dans les templates.
|
||||
|
||||
Son principe est de remplacer certains éléments du html par un fragment de
|
||||
HTML renvoyé par le serveur backend. Cela se mari très bien avec le
|
||||
fonctionnement de django et en particulier de ses formulaires afin d'éviter
|
||||
de doubler le travail pour la vérification des données.
|
||||
|
||||
### Sass
|
||||
|
||||
[Site officiel](https://sass-lang.com/)
|
||||
|
@ -1 +0,0 @@
|
||||
::: stock.models
|
@ -1 +0,0 @@
|
||||
::: stock.views
|
12
docs/tutorial/fragments.md
Normal file
12
docs/tutorial/fragments.md
Normal file
@ -0,0 +1,12 @@
|
||||
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.
|
Reference in New Issue
Block a user