Tutorials are great to get started with Django, but they feel like something’s missing from them.
I’m always very curious to see how other people are getting work done, when tackling real-world projects. You can see how other people are structuring their code, growing their codebase and handling the issues they encounter.
But how to find real-world Django projects which are online and have open-source code available? Here are a few techniques you can use for finding cool projects online to learn from.
Just wanna see some example projects? Go here for a list of six open-source Django codebases I like (and why).
Django Packages
THE website about Django packages. One thing which is not immediately obvious from the name: it also lists Django projects!
You can sort Django projects which were submitted to djangopackages by stars on GitHub. Keep an eye on recent commits: this way you can find projects which have attention, and are actively developed. Take a look.
Django Sites
This website has been around since 2007. You can limit the list to “sites with code”, and browse the projects listed. One downside: you can’t immediately see how active or big a project is. Still, it’s worth a look.
GitHub
Let’s search code-first! If you search for “Django” on GitHub, you’ll find lots of repositories. Sorted by stars, you can see what’s popular and what’s been worked on recently. Mind you, projects which haven’t been updated recently aren’t necessarily boring. Some things are just done and good as they are :)
Check out this search result. Keep in mind, that this list contains all kinds of repositories - not just Django projects, but also project templates, packages and frameworks which build on Django. You’ll find the popular django-cookiecutter.
Happy Reading!
I hope this will help you to find some cool projects which are using Django!
Don’t limit yourself to vanilla Django projects. Starter templates and plugins can provide you with great learnings, if you’re ready to invest some time and know what to look for. Project templates, can show you what tools people like for example.
Keep in mind: the real world is messy. Any real big project will grow in ways where tradeoffs play a significant role - sometimes those tradeoffs are not apparent. It might be that their reasoning is not necessarily obvious, or wouldn’t apply to your situation. It might have depended on their prior knowledge, taste, the team working on the project or time constraints. Take everything you see with a grain of salt.
Don’t want to search yourself, and curious to take a look at a few Django codebases? Check out this list of cool real-world projects built with Django!