Solving my first Django issue with Djangonaut Space πŸš€

The Program

Being part of the Djangonaut Space program has been a great experience so far. It's designed to support and launch contributors within the Django community. It provides resources, events, and sessions aimed at helping developers improve their skills and contribute to Django projects, aimed to be compatible with work (only requires committing to put in about 2-4 hours/week although I've initially put much more while I wasn't employed).

People are assigned to teams and each team has a navigator and a captain. 

Navigator: Their primary goal is to facilitate the learning and growth of new contributors without being a formal teacher, instead pointing participants toward resources and offering guidance when needed

Captain: Their role is to serve as a community manager who coordinates the program, advises Navigators, and supports Djangonauts. Captains are crucial for maintaining the warm, inclusive environment of the Django community.

Team Mars

My team is team Mars and everyone in my team has been excellent! Tobe, our captain, has helped me with all the process tips and tricks, Django ORM and searching for the right issue and the contribution process. Ryan, our navigator, has made sure our team stays together via regular check-ins and he really provides the warm, inclusive, environment that makes our experience so enjoyable. I need to also shout out to Sarah and Rachell who are both making sure nothing falls in between the cracks and helping getting those PRs merged.
We also have Andy on board, who is an extremely experienced Django expert, makes me both jealous and blessed to be in the same team as him as well as Maryam, who's got an impressive track record. They're all people I'd jump into a spaceship with no doubt




My goals

When I started the program, my goals were:
πŸ₯‰ Be able to reproduce and understand an issue. ✅
πŸ₯ˆ Raise a pull request solving the issue and write about it in my blog. ✅
πŸ₯‡ Give a lightning talk about the process in a London meetup.
πŸŽ–️ Having the pull request merged. ✅
πŸ› Repeat either of the above with two-three issues/bugs.

Picking an issue

Because things were changing in my work life and I know time commitment can be very variable depending on the issue, and considering I'm not yet a deep Django developer but a mere user, I needed to take a first small step so I wanted to pick a relatively easy issue in the area of documentation.

I ended up picking issue 35461 and I wrote a summary on Notion to put together the options suggested by previous contributors and my conclusion. This was very useful to help people get into the context more quickly and I'm also doing it for my second, more difficult issue.
My pull request got merged the 21st of June and I jumped in happiness. First goal unlocked! ⛳️

What I learned on the way:
  • Running the documentation locally has a very different visual theme than the official one and existing contributors are used to this. I'm still to know why this difference exists. Edit: Something to do with licensing
  • How the debug toolbar ties into a Django app and expects a <body> DOM element.
  • Acknowledgment of plugins and who are working on them. Shout out to Tim Schilling⭐️!!
  • How popular this toolbar is and check other stats on the Django Developers Survey.
  • How to use Trac - It's is the ticket logging system used by Django and it has some tricks.
  • How people discuss both in Trac and the Django forum.
  • To always add a caption in any imagery on Pull Requests and documents for visually-impaired djangonauts. (Marijke made me 😜)
  • How others approach Django issues from idea to discussion to resolution.
  • The elastic band analogy by Carlton Gibson πŸͺ’ - This applies to endurance in general and I had never seen it this way!
  • And I honestly had a great time ❤️

A screenshot of the django Developer Survey with django-debug-toolbar as second favourite third-party package for about 28% of respondants



My next issue

My next issue is a harder one but I'm learning loads with it about Python and Django. It's been open for 15 years but I'm very determined to try and implement the proposed solution. I'll write more about this next week.