Skip to content

lubomirgoban/django-htmx-patterns

 
 

Repository files navigation

Django + htmx patterns

This repo is a rough-and-ready compilation of the patterns I’m using and developing when writing Django projects that use htmx.

The docs are intended to be viewed on GitHub: https://github.com/spookylukey/django-htmx-patterns/ and the code can be run locally or on repl.it (see below)

My aims are to document and share:

  1. The basic patterns and control flow needed
  2. Some enhancements we can make with a few utilities

The code presented depends only on Django and htmx, unless otherwise noted. I wont be packaging it up as a library. It is instead being released into the public domain, and you are encouraged to copy-paste it for your own needs. (See the “Approach” docs for why).

There are some Django packages that provide shortcuts for some of the things mentioned here, such as django-htmx, but I won’t be using any of them for the sake of clarity.

This is a work in progress, I’ll try to keep it up to date. PRs welcome.

TODO

  • Combined vs separate view functions
  • Patterns for use with django-functest

Code folder

In the code folder is a demo app which has full working examples of everything in the docs. You can see it live on repl.it at https://django-htmx-patterns.spookylukey1.repl.co and you can fork it from https://replit.com/@spookylukey1/django-htmx-patterns to play around with the code.

To install locally, use a virtualenv, and then either use poetry or see the code/requirements.txt file for pip.

Feedback

Your feedback is very welcome! Star this repo if you like it, and please share ideas on discussions.

Links

Some other good htmx resources:

If you liked this repo, you might also be helped by some of my other resources:

About

Sharing patterns I use with Django and htmx

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 97.4%
  • Cython 1.0%
  • C 0.7%
  • C++ 0.4%
  • CSS 0.3%
  • JavaScript 0.1%
  • Other 0.1%