09-08, 16:20–16:55 (Europe/Lisbon), Auditorium
Modern applications often necessitate a back-office interface to facilitate administrative tasks. While Django's generic class-based views are valuable for fundamental CRUD operations, they may fall short when it comes to meeting specific UI/UX requirements.
Traditionally, the go-to solution has been to construct the interface with a frontend framework, but this approach can be resource-intensive and time-consuming.
This presentation explores various use cases for common development patterns in CRUD interfaces and the management of extensive Django models. It places a special emphasis on custom generic class-based views and how to seamlessly integrate them with HTMX to deliver a frontend-like user experience.
Key Topics Covered:
* Leveraging Django's generic class-based views for CRUD functionality.
* Evaluating Formsets and alternative options.
* Comparing HTMX & HATEOAS to Frontend & REST approaches.
* Implementing CRUD operations within a Single View: CreateUpdateDeleteView.
* Achieving inline object manipulation without relying on formsets.
* Handling complex models with multi-step processes using WizardView.
* Presenting form data in read-only mode via the form layout with ReadOnlyFormView.
* Delving into advanced, out-of-scope examples, including Sortable UIs and WebComponents.
* Exploring the possibilities of integrating HTMX into the Django Admin to transform it into a frontend-like experience.
This presentation aims to shed light on how to enhance your Django-based applications with a more interactive and efficient administrative interface, all while minimizing the need for extensive frontend development.
Originally from Porto, Portugal, and holding an Msc. in Networks & Computer Engineering from the University of Porto, I've passionately pursued a career as a versatile freelancer, specializing in the development and maintenance of websites, back-end systems, and mobile applications for a diverse range of small companies. My skill set encompasses a variety of technologies, including PHP, NodeJS, Flutter, Ionic, HTMX, and Django.
Currently, I am fully committed to my role at Evolutio, where I lead the development of comprehensive applications for an array of clients from various sectors. My projects have ranged from creating housing market statistics platforms to crafting CMS applications for housing news and events management, utilizing a combination of Django, SvelteKit, and HTMX.
In my spare time, I enjoy sharing my knowledge through Full-stack Web Development courses, primarily aimed at university students. I am continually expanding my knowledge base, diving deep into topics such as DevOps tools and exploring the ever-evolving landscape of frontend frameworks, with a particular focus on SvelteKit.
When I'm not immersed in code, you can find me enjoying my other passions, including retro video games, fine-tuning my music mixing skills, and exploring the wonders of our world through travel.