Django UI Components for Perfectionists with Deadlines
2024-09-24 , Online talks

HTML suffers from verbosity and lots of copy-pasta driven development. CSS tends to bleed into important! overrides hard to maintain. React and Vue frameworks bring in extra complexity that might not be needed for a composable UI library.
In this talk we will cover different ways to architecture our templates and styles for reusability and maintanability using some techniques and libraries (like django-components, wagtail, crispy-forms, tailwindcss) to rapidly prototype and build modular websites, matching the composability of modern frontend frameworks for the working developer.


We pay great attention to how to write composable python code (with inheritance, decorators, modules, namespaces, etc). But when it comes to architecting the templates of your website, this is often overlooked, which rapidly degenerates in tons of copy&paste of html, css and javascript.
Some might say that this is what React or Vue (et al) are all about and already solve, but having to render HTML on the client can increase the complexity of the application (introducing build steps, another language, more dependencies, etc).

Writing reusable and composable UI components can be achieved using the good 'ol django templates, with the help of some libraries to fill in the gaps (like django-components, wagtail blocks, crispy-forms with their templates, tailwindcss) that we will explore and suggest as a possible solution.

I'm an average pythonista, which is a short way to say I like all things python, and talking about it. Aside from it, I'm also an average human, which is a short way to say I like watching movies, a cup of coffee in the morning and long walks on the beach.