Django: Under the Hood


For the first time Sprinters

Sprints are concentrated effort to make Django project itself and it's ecosystem` better. In other words, it means that we're going to work on Django codebase to make it better. Can you do it? Yes! It's not hard and we're here to help you if you get lost. Django has good writeup on how to contribute, but we've prepared some tips to you get going.


Start by making sure that you have Django code and that you can run test suite with all tests passing. In short, you need to:

  1. Fork Django on GitHub,
  2. Clone your fork locally with git clone,
  3. Go into tests directory: cd django/tests,
  4. If you have Python 3, you can run tests right away with PYTHONPATH=..:$PYTHONPATH python3 ./,
  5. On Python 2 you will need to install some dependencies with pip install -r requirements/py2.txt. You might do that in a separate virtualenv. Then run the tests with PYTHONPATH=..:$PYTHONPATH python ./
  6. While you're at it, join our #django-sprint IRC channel.

You should be good to go! Remember, if you have problems with this you can ask sprint organizers or other people for help. If you want to know more, Django documentation goes into more details about running unit test and working with GitHub.

Doing stuff

Django is a big project and there's lot's of things you can do. Check out Advice for new contributors in Django documentation, it lists things do, but in short those are:

You can use Django Development Dashboard for browsing tickets by various predefined criteria. You can also take a look at a prepared list of tickets needing patch improvements.

During the sprints you have opportunity to talk to fellow Django programmers, including members of the core team, so take advantage of it. Talk to people about what's your pain in Django. Pair with someone on a ticket, two pairs of eyes are better than one. Don't be afraid to ask questions and don't give up.