Ce dépôt est une compilation approximative des modèles que j'utilise et que je développe lors de l'écriture de projets Django qui utilisent htmx, avec un exemple de code complet.
Les documents sont destinés à être consultés sur GitHub : https://github.com/spookylukey/django-htmx-patterns/ et le code peut être exécuté localement si nécessaire.
Mes objectifs sont de documenter et de partager :
Le code présenté dépend uniquement de Django et htmx, sauf indication contraire. Je ne le présenterai pas comme une bibliothèque. Au lieu de cela, il est publié dans le domaine public et vous êtes encouragé à le copier-coller pour vos propres besoins. (Voir la documentation « Approche » pour savoir pourquoi).
Certains packages Django fournissent des raccourcis pour certaines des choses mentionnées ici, comme django-htmx, mais je n'en utiliserai aucun par souci de clarté.
C'est un travail en cours, j'essaierai de le maintenir à jour. Les PR sont les bienvenus.
Les plus grandes contributions de ce dépôt sont :
partiels en ligne avec sélection de bloc dans le modèle.
Il s'agit d'un modèle qui vous permet de conserver les parties de la page ensemble pour une grande « localité de comportement » et d'éviter que le code de vue n'ait à savoir quoi que ce soit sur les fragments/partiaux de modèle utilisés. Les modifications du code du modèle pour HTML consistent généralement à envelopper certaines parties d'un modèle dans un block
de modèle Django et à ajouter des attributs HTML standard. Les modifications du code d'affichage pour HTML consistent souvent simplement à ajouter un seul décorateur à la fonction d'affichage : @for_htmx(use_block_from_params=True)
.
Ce modèle fait une énorme différence dans la convivialité de HTML dans Django.
exemple complet de validation de formulaire htmx champ par champ, tout en conservant l'abstraction du formulaire de Django et tous ses avantages.
de jolis modèles pour faire des modaux
Django
htmx (voir Modèle de base pour les documents d'installation suggérés)
Les modèles les plus sympas ici nécessitent django-render-block :
pip installer django-render-block
Mon exemple de code inclut des monstres tristes et heureux qui peuvent être étreints ou donnés des coups de pied pour changer leur état. Veuillez noter que je n'approuve pas les coups de pied des monstres, ni ne conseille de les serrer dans mes bras.
Dans le dossier code se trouve une application de démonstration qui contient des exemples complets de tout ce qui se trouve dans la documentation.
Pour installer localement, créez et activez un virtualenv, puis effectuez :
code cd pip install -r exigences.txt python manage.py migrer python manage.py serveur d'exécution
Vos commentaires sont les bienvenus ! Mettez en vedette ce dépôt si vous l'aimez et partagez des idées sur les discussions.
Quelques autres bonnes ressources HTML :
Si vous avez aimé ce dépôt, vous pourriez également être aidé par certaines de mes autres ressources :