Этот репозиторий представляет собой черновую компиляцию шаблонов, которые я использую и разрабатываю при написании проектов Django, использующих htmx, с полным примером кода.
Документы предназначены для просмотра на GitHub: https://github.com/spookylukey/django-htmx-patterns/, а при необходимости код можно запустить локально.
Моя цель — задокументировать и поделиться:
Представленный код зависит только от Django и htmx, если не указано иное. Я не буду упаковывать это как библиотеку. Вместо этого он публикуется в общественном достоянии, и вам предлагается скопировать его для своих собственных нужд. (Почему см. документацию «Подход»).
Есть несколько пакетов Django, которые предоставляют ярлыки для некоторых вещей, упомянутых здесь, например django-htmx, но я не буду использовать ни один из них для ясности.
Работа находится в стадии разработки, я постараюсь держать ее в курсе. Пиарщики приветствуются.
Самый большой вклад в это репо:
встроенные партиалы с выбором блока в шаблоне.
Это шаблон, который позволяет вам объединить части страницы для большей «локальности поведения» и избежать необходимости знать код представления о том, какие фрагменты/части шаблона используются. Изменения кода шаблона для htmx обычно заключаются в переносе некоторых частей шаблона в block
шаблона Django и добавлении стандартных атрибутов htmx. Изменения кода представления для htmx часто заключаются в добавлении одного декоратора в функцию представления: @for_htmx(use_block_from_params=True)
.
Этот шаблон существенно повышает удобство использования HTML-кода в Django.
Полный пример проверки формы htmx по полю, сохраняя при этом абстракцию формы Django и все ее преимущества.
хорошие шаблоны для создания модальных окон
Джанго
htmx (рекомендуемые документы по установке см. в разделе «Базовый шаблон»)
Самые красивые шаблоны здесь требуют django-render-block:
pip установить django-render-block
Мой пример кода включает грустных и счастливых монстров, которых можно обнять или пнуть, чтобы изменить их состояние. Обратите внимание: я не одобряю избиение монстров ногами и не советую их обнимать.
В папке с кодом находится демонстрационное приложение, в котором есть полные рабочие примеры всего, что есть в документации.
Чтобы установить локально, создайте и активируйте virtualenv, а затем выполните:
код компакт-диска pip install -r требования.txt миграция python Manage.py Сервер запуска Python Manage.py
Ваши отзывы очень приветствуются! Отметьте этот репозиторий, если он вам нравится, и поделитесь идеями в обсуждениях.
Еще несколько хороших htmx-ресурсов:
Если вам понравился этот репозиторий, вам также могут помочь некоторые другие мои ресурсы: