Elevator Pitch
With no ‘standard’ approach to front-end other than built-in templating and so many JS front-end frameworks and tools and options, it’s easy to get thrown for a loop. HTMX lets us stick to what django is good at - server-side stuff, mainly - without feeling like we’re missing out on modern tools.
Description
Objectives
By the end of this talk, audience members will have a better understanding of what HTMX is, will understand concrete examples of how it can be applied to their django projects, and will have a list of resources for further learning and discussion.
Outline
- The current state (5 min)
    - Django templates
- Ajax, transitions, and asynchronous front end approaches
- Heavy JS Frameworks (Vue, React, jQuery)
 
- A different mindset (9 min)
    - Getting back to the heart of HATEOAS
- Splitting up complicated views
 
- 
    Feature and approach walk-throughs (20 min) For a variety of common web application features, we will take a look at a typical django approach and how one might approach the problem with django + htmx. - Messaging inbox functionality (read, archive)
        - The default Django approach
- Django + HTMX approach
 
- One-click settings
        - The default Django approach
- Django + HTMX approach
 
- Multiple forms in multiple tabs
        - The default Django approach
- Django + HTMX approach
 
- Formsets and an HTMX approach
        - The default Django approach
- Django + HTMX approach
 
 
- Messaging inbox functionality (read, archive)
        
- Tips, best practices, and pitfalls (6 min)
    - CSRF Tokens
- Lightweight JS libraries which compliment HTMX
- Simplifying things with django-htmx
- Resources for further reading and community
 
Notes
Django + htmx experience
I have been fortunate to work with htmx since shortly after its inception last year (as the successor to intercooler.js). Since then I have integrated it into several features of a moderate sized commercial django-based SaaS application. I have also written a blog post with an example implementation of htmx with django for building an interactive settings page, have created an example to-do list app using django and htmx, and actively take part in conversations about django and htmx on the htmx Discord, on Reddit, and on Twitter.