Reading list¶
Django documentation, in reading order¶
- The Django tutorial, parts 1 to 8. Checklist on Tutorials.
- Models and Making queries.
- Migrations.
- Database transactions.
- Unit tests: how to run Django's own test suite.
- Triaging tickets: what the stages and flags on a ticket mean.
The ORM, from the inside¶
- "Demystifying the Django ORM", Simon Charette's talk to Djangonaut Space Session 3 (2024, 44 minutes), with slides. How a QuerySet becomes SQL and comes back as model instances, in four phases: resolving, compilation, execution, construction. His tip from the questions: use
git blameon a line to walk back to its pull request and ticket.
Accessibility tools¶
- An Orca screen reader tutorial (Wikimedia, 2020): installing and using Orca, the screen reader on Linux, as a sighted developer.
- Accessibility Insights for Web: the browser extension I use to check a page before and after a change.
Reviewing pull requests¶
- Getting started with Django PR reviews, a gist with a method I intend to follow.
The programme's learning material, by week¶
From the Djangonaut Space workbook. I do not plan to read all of it.
Week 1
- Becoming a Django Fellow (1 hour)
- Your web framework needs you (15 minutes)
- Intro to sprints at Django (45 minutes)
Week 2, documentation
- Diátaxis, the documentation framework Django uses
- Read the Docs documentation guide
- Google's technical writing resources
- Docs or it didn't happen! (45 minutes)
Week 3, working together
Week 4, blogging
Week 5, testing and debugging
- Testing at Django (1 hour)
- Debugging at Django (1 hour)
- Profiling in Python
Week 6, community and review
- Ned Batchelder's PyCon 2023 keynote on community (45 minutes)
- How to be an open source gardener
- Guidelines for a healthy code review culture
Week 7, accessibility
- Web Content Accessibility Guidelines 2.2
- Django accessibility for everyone (30 minutes)
- Setting up a screen reader testing environment
Week 8, giving back
AI tools¶
A survey of the AI policies of 108 open source projects codes Django as conditional, with disclosure required (Django's entry). I have not yet read Django's own text, and I will before my first comment or pull request.
My rule for this session: I say in each contribution what an AI tool was used for. This site was written with the help of Claude.