Maintaning a Django codebase after 10k commits
Let’s dive into the challenges that arise when a Django project starts to become huge.
Django is extremely effective for creating a website quickly with top notch features out of the box. But in some codebases, after a while, new developments can become harder and harder.
In this talk, we’ll examine some design decisions that have, and haven’t, scaled successfully, in the hope that the next time you start your big scale Django project, you won’t end up cursing your past self after three years.
Among the subjects we’ll tackle:
- the question of where to put your business logic;
- your model and who should be able to define it (especially third party apps);
- Views, and code repetition, and whether Class Based Views are the solution;
- Your test architecture and the infamous TestCaseMixin spaghetti hell;
- Your settings and the parameters that depends on one another;
- Migrations, especially when you start to have dedicated database folks…