Welcome Session
On the 21st of July 2014, the first day of EuroPython 2014 in Berlin, the first-ever Django Girls workshop was held. This year, Django Girls turns 10! As we celebrate our 10th anniversary, we invite you to join us as we examine the transformational decade of Django Girls, a global movement dedicated to empowering women in technology and strengthening the Django community through fostering diversity.
Alpine.js and htmx have been creating quite a flurry of excitement in the Django community for a few years now. How is this toolset combination holding up in the light of some years of real project experience? Come to our talk to learn the impact this toolset has had on our productivity.
Django powers some of the world’s leading websites, offering a robust framework that propels projects from conception to production with ease. At its core, Django's migration framework and static asset management streamline development, but the journey doesn’t stop there. As applications expand and evolve, scaling introduces new challenges, particularly when deploying updates across multiple instances.
How do we manage schema and static asset versions during rolling updates or blue/green deployments without disrupting the user experience? This presentation dives into the trenches of scaling Django applications. We’ll unravel the complexities of running multiple instances with varying schema and static assets, exploring the intricacies of forward and backward-compatible migrations and the nuances of serving static assets in a distributed environment. Prepare to get your hands dirty as we navigate through real-world scenarios, weighing compromises and strategizing for success. Whether you’re scaling your first project or optimizing an enterprise-level system, this session will arm you with the knowledge to tackle these challenges head-on.
Join me in a detailed exploration as we navigate the complexities of transitioning from traditional polling to real-time functionality using Django SSE in version 5.0. This presentation aims to elucidate the seamless integration of real-time features, maintaining the structural integrity of applications without the need for additional libraries. Importantly, we will not be utilizing Django Channels; instead, we'll focus on leveraging the inherent features of async Django.
Our focal point will be the utilization of Redis as the singular dependency, showcasing the inherent capabilities of Django SSE in version 5.0. Delving into the realm of real-time notifications, the session will encompass a spectrum of approaches – from comprehensive payload delivery to streamlined references. This will be achieved without the need for extensive code rewriting.
The last couple of years seem to have changed everything. From "API First" we've gone to "API Maybe". This is the story of bootstrapping a new application in these latter days, the lessons we've learnt, and what the future might bring.
Master GraphQL with Strawberry & Django! Dive into efficient API design, solve the N+1 issue, and optimize with ease. #GraphQLTalk
Use of regular expressions for searching and parsing text is very common, but it can be dangerous. Innocent-looking searches may turn out to be very slow on specially-crafted inputs, and if such inputs can be provided by users, that is called a REDoS vulnerability. This talk is about the causes of such slowness, possible fixes and prevention.
In this talk, we'll cover:
- How carbon emissions result from our use digital services, and why people are paying more attention
- How they are measured and estimated, and common tools used to do so, especially for pythonistas
- Why Django is well placed to be the greenest framework out there, with examples a leading django project
Imagine a world where you work on your own terms. Where you are financially independent and have the freedom to work on whatever you want whenever you want to. This used to sound unrealistic, but thanks to the internet and standing on the shoulders of giants it's very much possible for us software developers to run successful, profitable, one person businesses. This talk draws on the past eight years of my life scaling Simple Poll from a humble django-admin startproject
to a successful SaaS company and a team of seven. We'll cover several practical tips including how to approach building a side project while working a full time job, marketing & distribution your project, how to pick what to work on, and more.
I realise that many people who are ready and competent to make useful, welcome improvements to Django's documentation hesitate. Often all they need to get them over that first bump is a bit of extra confidence, and the blessing of someone who seems to have some authority.
That's what I want to give, in a short and practical workshop.
Thinking about non-English users is not the first thing that comes to mind when building software, even for non-English developers. You'll be surprised by how simple considerations can highly affect non-English users' experiences. This talk is about UI choices and localization for Arabic users (and other right-to-left languages).
The questions children asked me on the topic of privacy on the web
Lightning Talks
Welcome 2 Day
Beyond the excitement about the new generation of LLMs, AI is just an
ecosystem inside the wider tech-biome. We are going to revisit the
fundamentals to examine sensible AI projects and systems that can healthily
be integrated into the wider tech world.
This presentation will explore the design, development, and deployment of Laboratory Information Management Systems (LIMS) tailored for genomics research using the Django framework. Learn how Django's flexibility and scalability power robust and customizable LIMS platforms that streamline workflows, enhance data management and facilitate collaboration in the rapidly evolving genomics landscape.
Companies crave LLM integrations. Have you built one in Django?
This workshop provides a step-by-step guide on how to let LLMs take control of your Django application, both on the server-side and the client-side.
How can hundreds of engineers collaborate on the same codebase without chaos and build a successful business?
Whilst Django is a web framework, it doesn't have a good first-party story for background workers, right now anyway...
We're programmers, and we're full of intention, programming our will in symbols, to be executed by machines. From automated testing to our agile workflows, the values of our discipline are aligned around intention. For us, success means successfully bringing about what we intended.
But, in all this vigorous, forward-looking intention, I think we overlook another kind of meaning, that is to be found in attention. I think that by looking at other arts and disciplines we can discover something new that we can bring to programming, to enrich it and make it deeper and more fulfilling - and possibly even better.
Wondering how to blend sync and async frameworks together in Python? Join me on a journey where Django meets FastAPI.
Exploring the role of Django Software Foundation, and how Django governance works.
Pair programming is used every day at our company, Caktus, to provide new learning opportunities for teammates, unblock developers, and maximize productivity even among our most senior staff. Often thought of as a teaching tool, which it is, we believe regular pair programming also helps establish a cultural standard within engineering organizations that breaks down silos and maximizes the amount of work not done.
If you had told me a year ago that today I’d be actively contributing to Django, I would have never believed it. And yet, here we are! As a newbie Django core contributor, I’ve been reflecting on my contributing journey, and how I got here in the first place. This talk is my step-by-step guide to becoming a Django core contributor.
VS Code is the most popular editor for Pythonistas. I'll teach you how to tweak your VS Code environment to support your Python and Django workflow. At the end of this workshop you'll understand while large teams build extension packs and profiles to create team alignment, onboard and pair program, and why contractors swear by VS Code's flexibility when jumping from one project to the next.
ProBo: 1 Django App, 4 admin sites, 14 user groups, 240.000+ users as admin staff.
Many say you shouldn't, we did it by heavily extending the admin and lastly integrated HTMX.
Ever heard of the curb cut effect? It’s the idea that accessibility improvements often benefit a much wider group of people than initially intended. Let’s bring it to Django! We’ll look at specific accessibility improvements for the Django admin, which are guaranteed hits with everyone from beginners to power users.
Lightning Talks
Welcome 3 Day
Most people don't dream of being a database administrator when they grow up. I've worked with databases for over 25 years because I love them so much, but I'm aware that most people don't feel the same way! Most of the developers I know just want the database to quietly do its thing in the background so they can concentrate on coding. Which seems like a reasonable request.
But the world of databases is changing. The traditional DBA role is becoming less common, and developers are increasingly expected to manage their own databases. Let's talk about how you, as a developer, can navigate this new reality, and what you actually need to know about databases.
Who knows - maybe, along the way, I can even convince you to love databases just a little bit!
SQLite is a capable database that can run production Django apps efficiently under the right conditions. In this talk, we will explore the strengths and weaknesses of SQLite to understand if it's a good fit for your production workload.
Explore the transformative approach to CRUD operations in Django apps, emphasizing a declarative interface for streamlined API development and testing. This talk unveils a paradigm shift towards maintainable, efficient codebases ready for production-grade challenges without compromises.
Improve your codebase and developer experience by using the novel class-based emails from “django-pony-express” – shipped with a test-suite – to finally have a DRY email setup and save the day!
In this session attendees will learn the basics of how carbon emissions from digital services are currently measured, what tooling exists to automate this measurement, and how this can be integrated into continuous integration pipelines using open source tooling, including a worked example of a set up for a real-world open source Django project.
Recent changes in the law will mean that for some firms, reporting emissions from digital services will be necessary from 2025 onwards, so we’ll end with some pointers on how to tell if the law might apply to your organisation, and where to go to learn more.
Some love it, some hate it but Django has a whole second documentation site called CCBV. No matter what team you're in, such documentation interface is very useful but... what if we could document whole Django projects that way?
Do you want to build a personal site with Django? Give a go to Wagtail, a CMS built upon the framework. You can learn it quickly, it will give you a good mixture of blogging functionality out of the box. We’ll also showcase that there’s plenty of room to customize your models, views, templates, and everything else Django developers expect.
Data-Oriented Design gives us principles for making fast, hardware-friendly software. This talk covers applications of those principles in Django projects, packgaes, and even Django itself.
Dive into the world of scalable Python testing with Django! Learn how to create robust tests, leverage Faker for realistic data, and master Pytest for streamlined testing. Elevate your code quality and reliability! #Python #Django #Testing
Accessibility is often thought of as a responsibility of frontend developers and designers and hence, often ignored by Django developers and the community. However, there are many reasons a Django developer, even who mostly does backend work, needs to be aware of accessibility. In this workshop, I will cover a few such examples: accessible authentication, multilingual support, alt text for images; and big standards like ATAG. I will also briefly discuss about different aspects of the community that also need us to be more attentive to accessibility: conferences, meetups, online spaces, documentation, contributor tools, and more
Once your application accumulates more data, you will inevitably run into performance issues that you are unable to reproduce on your development machine. Let's look at strategies on solving these
Grab your SCUBA gear - it's time for a deep dive!! Building from the ground up, we'll re-implement Django's URL routing machinery and learn about best practices, bugs, and URL design along the way.
Lightning Talks
Closing Session