CARVIEW |
Select Language
HTTP/2 200
server: nginx
content-type: application/rss+xml; charset=utf-8
last-modified: Sat, 11 Oct 2025 08:31:47 GMT
content-language: en
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
referrer-policy: same-origin
cross-origin-opener-policy: same-origin
expires: Sat, 11 Oct 2025 09:07:03 GMT
cache-control: max-age=300
strict-transport-security: max-age=31536000; includeSubDomains; preload
permissions-policy: interest-cohort=()
x-xss-protection: 1; mode=block
access-control-allow-origin: https://code.djangoproject.com
via: 1.1 varnish, 1.1 varnish
accept-ranges: bytes
age: 294
date: Sat, 11 Oct 2025 13:08:56 GMT
x-served-by: cache-fra-etou8220072-FRA, cache-bom-vanm7210069-BOM
x-cache: HIT, HIT
x-cache-hits: 27, 0
x-timer: S1760188136.172291,VS0,VE137
vary: Accept-Language
content-length: 47976
The Django weblog https://www.djangoproject.com/weblog/Latest news about Django, the Python web framework. en Sat, 11 Oct 2025 03:31:47 -0500 2026 DSF Board Nominations https://www.djangoproject.com/weblog/2025/oct/11/2026-dsf-board-nominations/<p>Nominations are open for the elections of the 2026 Django Software Foundation Board of Directors. The Board guides the direction of the marketing, governance and outreach activities of the Django community. We provide funding, resources, and guidance to Django events on a global level.</p>
<p>The <a href="/foundation/#board">Board of Directors</a> consists of seven volunteers who are elected to two-year terms. This is an excellent opportunity to help advance Django. We can’t do it without volunteers, such as yourself. Anyone including current Board members, DSF Members, or the public at large can apply to the Board. It is open to all.</p>
<h3 id="s-how-to-apply">How to apply</h3>
<p>If you are interested in helping to support the development of Django we’d enjoy receiving your application for the Board of Directors. Please fill out the <a href="https://forms.gle/UnfgwuC3DgwxnnMn6">2026 DSF Board Nomination form</a> by 23:59 on October 31, 2025 <a href="https://www.timeanddate.com/time/zones/aoe">Anywhere on Earth</a> to be considered.</p>
<p><a class="cta" href="https://forms.gle/UnfgwuC3DgwxnnMn6">Submit your nomination for the 2026 Board</a></p>
<p>If you have any questions about applying, the work, or the process in general please don’t hesitate to reach out <a href="https://forum.djangoproject.com/t/nominations-are-open-for-the-2026-dsf-board-elections/43152">on the Django forum</a> or via email to foundation@djangoproject.com.</p>
<p>Thank you for your time, and we look forward to working with you in 2026!</p>
<hr>
<p>The 2025 DSF Board of Directors.</p> Thibaud Colas Sat, 11 Oct 2025 03:31:47 -0500 https://www.djangoproject.com/weblog/2025/oct/11/2026-dsf-board-nominations/ 2025 Malcolm Tredinnick Memorial Prize awarded to Tim Schilling https://www.djangoproject.com/weblog/2025/oct/10/malcolm-prize-awarded-to-tim-schilling/<p>We are pleased to announce that the <a href="/weblog/2025/sep/13/nominate-a-djangonaut-for-the-2025-malcolm-prize/">2025 Malcolm Tredinnick Memorial Prize</a> has been awarded to <a href="https://www.better-simple.com/">Tim Schilling</a>!</p>
<p>Tim embodies the values that define the Django community: generosity, respect, thoughtfulness, and a deep commitment to supporting others. He is a tireless community leader who creates spaces where newcomers thrive ❤️ exactly in the spirit of <a href="/foundation/prizes/">our prize and Malcolm Tredinnick’s work</a>.</p>
<p><img alt="Tim Schilling on stage at DjangoCon US 2025 with a slide about Governance models, Appointments. Rachell stands next to Tim, and we see the audience in the foreground" src="https://media.djangoproject.com/blog/images/2025/10/20250908_tim_DjangoCon_US_Django_Governance_on_stage_with_Rachell-70.jpg"></p>
<h3 id="s-about-tim">About Tim</h3>
<p>As a co-founder of <a href="https://djangonaut.space/">Djangonaut Space</a>, Tim has encouraged countless people to take their first steps as contributors. With the overall program but also specific initiatives like co-writing sessions, Space Reviewers, Cosmic Contributors. Many community members trace their involvement in Django back to Tim’s encouragement and support.</p>
<p>Beyond Djangonaut Space, Tim serves on the <a href="/foundation/teams/#steering-council-team">Django Steering Council</a>, is one of the founders of <a href="https://github.com/django-commons">Django Commons</a>, and is an active member of <a href="https://www.defna.org/">DEFNA</a>, supporting <a href="https://2025.djangocon.us/">DjangoCon US</a>. He is known for thoughtful feedback, amplifying others’ work, and encouraging people to step forward for leadership roles.</p>
<p><img alt="One host and six panelists on stage at DjangoCon US 2025 in Chicago. Host Velda Kiara stands next to the podium. Panelists are seated: Peter Grandstaff, Dawn Wages, Natalia Bidart, Jeff Triplett, Rachell Calhoun, Tim Schilling holding the microphone" src="https://media.djangoproject.com/blog/images/2025/10/20250910_DjangoCon_US_2025_panel_discussion_two_decades_of_Django-60.jpg"></p>
<h3 id="s-quotes">Quotes</h3>
<p>Here is some of what people said about Tim’s involvement with the community:</p>
<blockquote>
<p>Tim exemplifies all the values the Django community is known for. He is incredibly supportive of newcomers, respectful, and generous. Always ready to give constructive feedback and lend a hand where needed, be it through a pull review or the many Django-related forums he participates in, Tim is a natural leader, someone that the community looks up to.</p>
<p>– Felipe Villegas</p>
</blockquote>
<hr>
<blockquote>
<p>Every time he spots a chance to help, he doesn't need to think twice. He's a welcoming person not only with newcomers, as in Djangonaut Space, but also with maintainers through Django Commons. Tim is also very creative, finding different ways to contribute. For example, inside the Djangonaut Space community, the "Space Reviewers" team was formed to host a live stream to help people become reviewers by sharing the process and also actually reviewing a ticket that needs some attention. The Django community is much more than blessed to have Tim, who exemplifies dedication, respect, and support for others.</p>
<p>– Raffaella</p>
</blockquote>
<hr>
<blockquote>
<p>Tim just has this way of making sure newcomers feel welcome and get the support they need. He doesn't just talk about community building - he actually does the work to make it happen.</p>
<p>– Abe Hanoka</p>
</blockquote>
<hr>
<blockquote>
<p>Tim is a thoughtful and caring community leader. He engages with newcomers in a warm and welcoming manner. In his roles as the admin for Djangonaut Space, the admin of Django Commons, and a member of the Steering Council, he strategically identifies the gaps in the community, collaborates with other members to develop an action plan, and follows through with the execution. He's doing some of the hardest work out there. Not only is Tim nurturing newcomers, he's also growing the community by bridging the gap between newcomers and experienced open source contributors. Tim's actions speak louder than words.</p>
<p>– Lilian</p>
</blockquote>
<h3 id="s-other-nominees">Other nominees</h3>
<p>Other nominations for this year included:</p>
<ul>
<li><strong>Adam Hill</strong> and <strong>Sangeeta Jadoonanan</strong></li>
<li><strong>Anna Makarudze</strong></li>
<li><strong>Baptiste Mispelon</strong></li>
<li><strong>Bhuvnesh Sharma</strong></li>
<li><strong>Carlton Gibson</strong></li>
<li><strong>David Smith</strong></li>
<li><strong>Ester Beltrami</strong></li>
<li><strong>Jake Howard</strong></li>
<li><strong>Lilian</strong></li>
<li><strong>Mike Edmunds</strong></li>
<li><strong>Mike Edwards</strong></li>
<li><strong>Noah Maina</strong></li>
<li><strong>Raymond Penners</strong></li>
<li><strong>Simon Charette</strong></li>
<li><strong>Will Vincent</strong></li>
</ul>
<hr>
<p>Malcolm would be very proud of the legacy he has fostered in our community. Each year we receive many nominations, and it is always hard to pick the winner. If your nominee didn’t make it this year, you can always nominate them again next year!</p>
<p>Congratulations Tim on the well-deserved honor!</p> Sarah Abderemane & Thibaud Colas Fri, 10 Oct 2025 02:46:39 -0500 https://www.djangoproject.com/weblog/2025/oct/10/malcolm-prize-awarded-to-tim-schilling/ Django security releases issued: 5.2.7, 5.1.13, and 4.2.25 https://www.djangoproject.com/weblog/2025/oct/01/security-releases/<p>In accordance with <a class="reference external" href="https://docs.djangoproject.com/en/dev/internals/security/">our security release policy</a>, the Django team
is issuing releases for
<a class="reference external" href="https://docs.djangoproject.com/en/dev/releases/5.2.7/">Django 5.2.7</a>,
<a class="reference external" href="https://docs.djangoproject.com/en/dev/releases/5.1.13/">Django 5.1.13</a>, and
<a class="reference external" href="https://docs.djangoproject.com/en/dev/releases/4.2.25/">Django 4.2.25</a>.
These releases address the security issues detailed below. We encourage all
users of Django to upgrade as soon as possible.</p>
<div class="section" id="s-cve-2025-59681-potential-sql-injection-in-queryset-annotate-alias-aggregate-and-extra-on-mysql-and-mariadb">
<h3>CVE-2025-59681: Potential SQL injection in <tt class="docutils literal">QuerySet.annotate()</tt>, <tt class="docutils literal">alias()</tt>, <tt class="docutils literal">aggregate()</tt>, and <tt class="docutils literal">extra()</tt> on MySQL and MariaDB</h3>
<p><tt class="docutils literal">QuerySet.annotate()</tt>, <tt class="docutils literal">QuerySet.alias()</tt>, <tt class="docutils literal">QuerySet.aggregate()</tt>, and <tt class="docutils literal">QuerySet.extra()</tt> methods were subject to SQL injection in column aliases, using a suitably crafted dictionary, with dictionary expansion, as the <tt class="docutils literal">**kwargs</tt> passed to these methods on MySQL and MariaDB.</p>
<p>Thanks to sw0rd1ight for the report.</p>
<p>This issue has severity "high" according to the Django security policy.</p>
</div>
<div class="section" id="s-cve-2025-59682-potential-partial-directory-traversal-via-archive-extract">
<h3>CVE-2025-59682: Potential partial directory-traversal via <tt class="docutils literal">archive.extract()</tt></h3>
<p>The <tt class="docutils literal">django.utils.archive.extract()</tt> function, used by <tt class="docutils literal">startapp <span class="pre">--template</span></tt> and <tt class="docutils literal">startproject <span class="pre">--template</span></tt>, allowed partial directory-traversal via an archive with file paths sharing a common prefix with the target directory.</p>
<p>Thanks to stackered for the report.</p>
<p>This issue has severity "low" according to the Django security policy.</p>
</div>
<div class="section" id="s-affected-supported-versions">
<h3>Affected supported versions</h3>
<ul class="simple">
<li>Django main</li>
<li>Django 6.0 (currently at alpha status)</li>
<li>Django 5.2</li>
<li>Django 5.1</li>
<li>Django 4.2</li>
</ul>
</div>
<div class="section" id="s-resolution">
<h3>Resolution</h3>
<p>Patches to resolve the issue have been applied to Django's
main, 6.0 (currently at alpha status), 5.2, 5.1, and 4.2 branches.
The patches may be obtained from the following changesets.</p>
<div class="section" id="s-cve-2025-59681-potential-sql-injection-in-queryset-annotate-alias-aggregate-and-extra-on-mysql-and-mariadb-1">
<h4>CVE-2025-59681: Potential SQL injection in QuerySet.annotate(), alias(), aggregate(), and extra() on MySQL and MariaDB</h4>
<ul class="simple">
<li>On the <a class="reference external" href="https://github.com/django/django/commit/41b43c74bda19753c757036673ea9db74acf494a">main branch</a></li>
<li>On the <a class="reference external" href="https://github.com/django/django/commit/4ceaaee7e04b416fc465e838a6ef43ca0ccffafe">6.0 branch</a></li>
<li>On the <a class="reference external" href="https://github.com/django/django/commit/52fbae0a4dbbe5faa59827f8f05694a0065cc135">5.2 branch</a></li>
<li>On the <a class="reference external" href="https://github.com/django/django/commit/01d2d770e22bffe53c7f1e611e2bbca94cb8a2e7">5.1 branch</a></li>
<li>On the <a class="reference external" href="https://github.com/django/django/commit/38d9ef8c7b5cb6ef51b933e51a20e0e0063f33d5">4.2 branch</a></li>
</ul>
</div>
<div class="section" id="s-cve-2025-59682-potential-partial-directory-traversal-via-archive-extract-1">
<h4>CVE-2025-59682: Potential partial directory-traversal via archive.extract()</h4>
<ul class="simple">
<li>On the <a class="reference external" href="https://github.com/django/django/commit/924a0c092e65fa2d0953fd1855d2dc8786d94de2">main branch</a></li>
<li>On the <a class="reference external" href="https://github.com/django/django/commit/af067f56c1dd467df4abd0ddd409a700da1f03ba">6.0 branch</a></li>
<li>On the <a class="reference external" href="https://github.com/django/django/commit/ed8fc39d77465eddbde1191a054ae965f6a8a584">5.2 branch</a></li>
<li>On the <a class="reference external" href="https://github.com/django/django/commit/74fa85c688a87224637155902bcd738bb9e65e11">5.1 branch</a></li>
<li>On the <a class="reference external" href="https://github.com/django/django/commit/9504bbaa392c9fe37eee9291f5b4c29eb6037619">4.2 branch</a></li>
</ul>
</div>
</div>
<div class="section" id="s-the-following-releases-have-been-issued">
<h3>The following releases have been issued</h3>
<ul class="simple">
<li>Django 5.2.7 (<a class="reference external" href="https://www.djangoproject.com/download/5.2.7/tarball/">download Django 5.2.7</a> |
<a class="reference external" href="https://www.djangoproject.com/download/5.2.7/checksum/">5.2.7 checksums</a>)</li>
<li>Django 5.1.13 (<a class="reference external" href="https://www.djangoproject.com/download/5.1.13/tarball/">download Django 5.1.13</a> |
<a class="reference external" href="https://www.djangoproject.com/download/5.1.13/checksum/">5.1.13 checksums</a>)</li>
<li>Django 4.2.25 (<a class="reference external" href="https://www.djangoproject.com/download/4.2.25/tarball/">download Django 4.2.25</a> |
<a class="reference external" href="https://www.djangoproject.com/download/4.2.25/checksum/">4.2.25 checksums</a>)</li>
</ul>
<p>The PGP key ID used for this release is Jacob Walls: <a class="reference external" href="https://github.com/jacobtylerwalls.gpg">131403F4D16D8DC7</a></p>
</div>
<div class="section" id="s-general-notes-regarding-security-reporting">
<h3>General notes regarding security reporting</h3>
<p>As always, we ask that potential security issues be reported via private email
to <tt class="docutils literal">security@djangoproject.com</tt>, and not via Django's Trac instance, nor via
the Django Forum. Please see <a class="reference external" href="https://www.djangoproject.com/security/">our security policies</a> for further information.</p>
</div>
Jacob Walls Wed, 01 Oct 2025 08:55:00 -0500 https://www.djangoproject.com/weblog/2025/oct/01/security-releases/ Sarah Boyce - Maternity leave announcement https://www.djangoproject.com/weblog/2025/sep/21/sarah-boyce-maternity-leave-announcement/<p>Hello Djangonauts,</p>
<p>At the end of this month, I'll be stepping away from my role as Django Fellow for some time while I'm on maternity leave.</p>
<p>During this period, I don't anticipate being active on Trac, in PR reviews, on the Forum, or on Discord. I would appreciate folks giving me space to settle in with my new baby.</p>
<p>Django will be well looked after by our Fellows, Natalia Bidart and Jacob Walls, who will continue supporting the project and community while I'm away.</p>
<p>I'm grateful to be part of such a wonderful community, and I look forward to returning after I have settled into this new chapter of my life. Thank you all for your support in keeping Django thriving.</p>
<p>Sarah Boyce</p>
<p><em>Django Fellow, mum-to-be</em></p> Sarah Boyce Sun, 21 Sep 2025 00:00:00 -0500 https://www.djangoproject.com/weblog/2025/sep/21/sarah-boyce-maternity-leave-announcement/ Django 6.0 alpha 1 released https://www.djangoproject.com/weblog/2025/sep/17/django-60-alpha-released/<p>Django 6.0 alpha 1 is now available. It represents the first
stage in the 6.0 release cycle and is an opportunity to try out
the changes coming in Django 6.0.</p>
<p>Django 6.0 assembles a mosaic of modern tools and thoughtful design, which you
can read about in <a class="reference external" href="https://docs.djangoproject.com/en/dev/releases/6.0/">the in-development 6.0 release notes</a>.</p>
<p>This alpha milestone marks the feature freeze. The <a class="reference external" href="https://code.djangoproject.com/wiki/Version6.0Roadmap">current release schedule</a> calls
for a beta release in about a month and a release candidate roughly a month
after that. We'll only be able to keep this schedule with early and frequent
testing from the community. Updates on the release schedule are available <a class="reference external" href="https://forum.djangoproject.com/t/django-6-0-release-timeline-and-next-steps/41275">on
the Django forum</a>.</p>
<p>As with all alpha and beta packages, this release is <strong>not</strong> for production
use. However, if you'd like to take some of the new features for a spin, or
help find and fix bugs (which should be reported to <a class="reference external" href="https://code.djangoproject.com/newticket">the issue tracker</a>), you can grab a copy of the alpha
package from <a class="reference external" href="https://www.djangoproject.com/download/">our downloads page</a> or
on PyPI.</p>
<p>The PGP key ID used for this release is Natalia Bidart: <a class="reference external" href="https://github.com/nessita.gpg">2EE82A8D9470983E</a></p>
Natalia Bidart Wed, 17 Sep 2025 06:00:00 -0500 https://www.djangoproject.com/weblog/2025/sep/17/django-60-alpha-released/ Nominate a Djangonaut for the 2025 Malcolm Tredinnick Memorial Prize https://www.djangoproject.com/weblog/2025/sep/13/nominate-a-djangonaut-for-the-2025-malcolm-prize/<p>Hello Everyone 👋 It is that time of year again when we recognize someone from our community in memory of our friend Malcolm.</p>
<p>Malcolm was an early core contributor to Django and had a huge influence on Django as we know it today. Besides being knowledgeable he was also especially friendly to new users and contributors. He exemplified what it means to be an amazing Open Source contributor. We still miss him to this day.</p>
<h3 id="s-the-prize">The prize</h3>
<p>Our <a href="/foundation/prizes/">prizes page</a> summarizes it nicely:</p>
<blockquote>
<p>The Malcolm Tredinnick Memorial Prize is a monetary prize, awarded annually, to the person who best exemplifies the spirit of Malcolm’s work - someone who welcomes, supports, and nurtures newcomers; freely gives feedback and assistance to others, and helps to grow the community.
The hope is that the recipient of the award will use the award stipend as a contribution to travel to a community event -- a DjangoCon, a PyCon, a sprint -- and continue in Malcolm’s footsteps.</p>
</blockquote>
<p>Please make your nominations using our form: <a href="https://docs.google.com/forms/d/e/1FAIpQLSeA01a3Tg5MRG8Di8tK7WK4gmjMwzq4cnKAAlWpax4nq_5xOg/viewform?usp=dialog">2025 Malcolm Tredinnick Memorial Prize nominations</a>. Nominations are welcome from everyone.</p>
<p><a href="https://docs.google.com/forms/d/e/1FAIpQLSeA01a3Tg5MRG8Di8tK7WK4gmjMwzq4cnKAAlWpax4nq_5xOg/viewform?usp=dialog" class="cta">Submit a nomination</a></p>
<p>We will take nominations until <strong>Saturday, September 27th, 2025, 23:59 <a href="https://www.timeanddate.com/time/zones/aoe">Anywhere on Earth</a></strong>, and will announce the results in early October. If you have any questions please use <a href="https://forum.djangoproject.com/t/2025-malcolm-tredinnick-memorial-prize/42842">our dedicated forum thread</a> or <a href="/contact/foundation/">contact the DSF Board</a>.</p> Sarah Abderemane Sat, 13 Sep 2025 15:18:27 -0500 https://www.djangoproject.com/weblog/2025/sep/13/nominate-a-djangonaut-for-the-2025-malcolm-prize/ Getting Started With Open Source Through Community Events https://www.djangoproject.com/weblog/2025/sep/08/getting-started-with-open-source-through-community/<p>In July, I joined <a href="https://mastodon.social/@raffaellasuardini">Raffaella Suardini</a> and <a href="https://laymonage.com/">Sage Abdullah</a> for the Djangonaut Space <a href="https://www.youtube.com/watch?v=vuehKySWKxc">Space Reviewers Episode 6</a>, where we reviewed a Django PR during a live stream. This was a fun event. I won’t get into the technical aspects of the review, and I won’t point out the many mistakes I made. Instead, I want to revisit several “getting started with open source” community events and reflect on my personal growth since I first got involved with open source.</p>
<p>I hope this encourages others to attend those events and similarly get involved!</p>
<hr>
<h4 id="s-tutorial-office-hours">Tutorial office hours 🕐</h4>
<p>My first open source contribution happened accidentally during DjangoCon US 2023. I volunteered to host office hours to help tutorial attendees set up their development environments. I went through the tutorial projects, found a missing dependency in one of them, and reported it on the conference chat. A conference organizer, <a href="https://www.better-simple.com/">Tim Schilling</a>, responded and suggested that I open a pull request (PR) to the project. I remember thinking to myself, <em>“Really? I can do that?”</em>.</p>
<h4 id="s-sprints">Sprints 🏃</h4>
<p>During the Sprint Days of the conference, I participated and opened two PRs to address accessibility issues. I didn’t know much about accessibility at that point, and I would not have known how to navigate the contribution process and pick out issues on my own. Thankfully, the project leaders were there to guide new contributors, and I was able to gain hands-on experience with these first few PRs.</p>
<h4 id="s-testathons">Testathons 🧪</h4>
<p>There was another event that took place during the Sprint Days called Testathon. I had heard of hackathons before, but I had not heard of testathons. I attended and found out they were like live stream coding or group pair programming. One person shared their screen and the group chimed in on strategies. The purpose of the testathon was to show people how to test open source projects against Django’s beta release. The code driver (or anyone else in the group) would point out what files to look for, how to run tests, and how to open PRs. Every project is slightly different, from project setup to contributing etiquette, and I learned several different things from attending 2 testathons. I loved the interactive and intimate nature of the event. It exposed me to another aspect of open source projects and contributions. I also thought it was very brave of people to share their screens and work through code together in a group. My brain would have short circuited if I were put on the spot like that!</p>
<p>—</p>
<p>From DjangoCon US 2023, I participated in 3 different types of events where I got hands-on experience with open source contributions, and I wanted more! I was curious about the live stream coding and group pair programming opportunities, too. This was definitely outside of my comfort zone, and I wanted to know how I could overcome my own inhibitions and participate more actively. I wanted to be able to jump into events so nonchalantly as everyone else seemed to do. (Of course, that’s the perception. Now, I know that most people feel some level of nervousness or anxiety when they are hosting or attending such events, and that’s absolutely normal.)</p>
<h4 id="s-djangonaut-space">Djangonaut Space 🚀</h4>
<p>When the <a href="https://djangonaut.space/">Djangonaut Space</a> program was announced, I jumped at the opportunity. I applied and was accepted for the first session, which took place from mid-January to early March of 2024. With the guidance of the Navigator and Captain on my team, I learned to sift through the Django’s Trac ticket management system, pick out a ticket, and I also faced my fear of posting comments publicly. The PR was merged, and it was thrilling to see my GitHub username in the history of the Django code base.</p>
<p>In March 2024, when the first Djangonaut Space session came to a close, Tim, a program organizer, asked if anyone was interested in hosting a “Getting Started With Contributing” event. I expressed my interest, and Tim suggested a ticket to work on. Unfortunately, I didn’t follow through. How could I host a “Getting Started With Contributing” event? First, I wasn’t sure if I even knew how to get started. Second, I wasn’t ready to lead an event and the discussions while simultaneously sharing my screen and thinking out loud. Finally, I wasn’t ready to be on camera in the public eye. Even though I had just finished the Djangonaut Space program, I hadn’t overcome my own inhibitions. I didn’t ask for guidance, and the event never materialized.</p>
<h4 id="s-space-reviewers">Space Reviewers 👾</h4>
<p>About 8 months later in November 2024, Space Reviewers launched its very first episode. I thought it was such a creative format. I wanted to be a part of it. By this time, I was getting a lot of training with event organizing through my role as the Session Organizer for Djangonaut Space, but I wasn’t sure how to ask about joining the Space Reviewers crew, and maybe it was too early in the formation of the group to bring on another member.</p>
<p>It wasn’t until June 2025 that I finally asked if I could help out with Space Reviewers. The crew welcomed me as a new member. I started out by making a pre-recorded video, a <a href="https://www.youtube.com/watch?v=mPndbdezvJw">PR Review Deep Dive</a>, that was uploaded to the <a href="https://www.youtube.com/@djangonautspace">Djangonaut Space YouTube channel</a>. I had a lot of fun recording and editing the video.</p>
<p>A month later, in July 2025, the crew members planned for the next episode. Raffaella scheduled time for the event and created the show notes, and I was taking on Tim’s role as a co-organizer. Because I would be managing the video stream and sharing my screen, I realized that I could be the single point of failure during the event. There was no safety element that a pre-recorded video offers. If my internet went down, or if my computer crashed, or if I stupidly clicked the wrong button, the live stream could come to a halt. It was a terrifying thought, but I took on the risks and pushed forward.</p>
<p>On the day of the event, there was a delay to the start time and some fumbles on my end, but overall, it was very fun and productive. People joined and shared their tips and tricks in the live chat. By the end, we were able to walk through the review process and post our comments on the PR. Looking back, I think making the pre-recorded video was a great stepping stone towards hosting the live stream.</p>
<p>I’m so glad I had the opportunity to work with Raffaella and Sage as part of Space Reviewers. They have a lot of insights and perspectives that I didn’t have. I had a lot of fun taking on the new challenges that came with organizing this event. Initially, I struggled internally as I tried to face some of my fears. There were moments leading up to the event where I thought to myself, “Why did I volunteer to do this???” In the end, I’m glad I did.</p>
<h4 id="s-personal-growth">Personal growth 🌱</h4>
<p>Some of the challenges I overcame might not seem like a big deal, but when I compare myself to where I was at the beginning of DjangoCon US 2023, I can see my personal growth quite prominently. Now, I know how to get started with contributing, and I am able to walk people through the process. I am also a lot more comfortable taking ownership of organizing and leading events. (I remember a time when I constantly needed to ask for permission or confirmation before executing an action.) I can brush off the fumbles I make as the camera is rolling, and I can continue on with the discussion.</p>
<p>When I revisit the community events that I have participated in over the past 2 years, from Space Reviewers, to Sprints, to Testathons, to Tutorial office hours, I realize how far I have come. I am also reminded of what it was like to be absolutely new to open source and to the community. Although I still feel somewhat new, I’m not a deer in headlights anymore. I’m still trying to find my place in open source, and the best way to do that is to continue showing up and continue helping out. One small PR at a time, one small review at a time. One little blog, one little video…</p>
<h4 id="s-lets-get-started">Let’s Get Started! 🌟</h4>
<p>If you’re looking to contribute to open source, check out the upcoming events and programs.</p>
<ul>
<li><a href="https://djangonaut.space/comms/2025/08/07/2025-opening-session-5/">Djangonaut Space Session 5</a> - An 8-week, semi-structured mentorship program and community. Applications are open now until Sep 14th.</li>
<li><a href="https://www.djangomed.eu">Django on the Med</a> - 3 days of Sprints to work on Django, taking place 7th-9th Oct 2025, in Palafrugell Spain.</li>
<li><a href="https://2025.djangocon.us">DjangoCon US 2025</a> - 3 days of talks and 2 days of Sprints, from 8th-12th Sep 2025, in Chicago, IL, USA.</li>
<li><a href="https://djangogirls.org/en/events/">Django Girls+</a> - One-day programming workshops, for women and underrepresented persons. Check out the 26 upcoming events hosted all around the world.</li>
</ul>
<p>It doesn’t matter if you’ve been making software for 20 years or 20 days, there are many events to help you get started with open source, and many more reasons to stick around.</p>
<hr>
<p>Thank you to Lilian for proposing this guest post on the Django blog! Lilian was our <a href="/weblog/2025/aug/30/dsf-member-of-the-month-lilian/">DSF Member of the Month in August 2025</a>. You can learn more about her at <a href="https://ontowhee.com">ontowhee.com</a> and follow her writing at <a href="https://buttondown.com/ontowhee">buttondown.com/ontowhee</a>.</p> Lilian Mon, 08 Sep 2025 16:59:58 -0500 https://www.djangoproject.com/weblog/2025/sep/08/getting-started-with-open-source-through-community/ DSF at EuroPython 2025: Celebrating 20 years of Django https://www.djangoproject.com/weblog/2025/sep/05/dsf-at-europython-2025-celebrating-20-years/<p><link rel="canonical" href="https://blog.europython.eu/django-software-foundation-at-europython-2025-celebrating-20-years-of-the-django-framework/"></p>
<p>This year, the Django Software Foundation (DSF) was invited by EuroPython to come to the event, showcase the framework and the vibrant community around it. The DSF had a booth in the community area where attendees could learn more about Django and meet maintainers.</p>
<p>This year was extra special: <a href="/weblog/2025/jul/13/happy-20th-birthday-django/">Django’s 20th birthday</a> was right at the beginning of the conference! The milestone was marked in style, starting on Wednesday evening at Pyvo, the local Python community meetup in Prague, where we celebrated with a cake.</p>
<p><img alt="Collage of 4 pictures: three participants smiling; two pictures of someone holding a cake; close-up of the cake that says '20 Happy birthday Django!'. With EuroPython 2025 and Django branding in-between the pics" src="https://media.djangoproject.com/blog/images/2025/09/europython-2025-cake-collage-60-credits-europython-society.webp"></p>
<p>On Friday, the celebration continued with an open-space gathering at the conference — and, of course, another cake 🎂. For people who missed this, there are other <a href="https://birthday20.djangoproject.com/">local Django birthday events</a> running through the rest of 2025!</p>
<p><img alt="Collage of 4 pictures: group photo of birthday celebrations with a cake on a table; close-up of participants; close-up of the cake; people blowing candles. With EuroPython 2025 and Django branding in-between the pics" src="https://media.djangoproject.com/blog/images/2025/09/europython-2025-birthday-collage-60-credits-europython-society.webp"></p>
<p><a class="cta" href="https://birthday20.djangoproject.com/">View all local 20th birthday events</a></p>
<p>Adding to the festive atmosphere, the DSF shared stickers co-branded with their unofficial pony mascot and the EuroPython and EuroPython Society logos. These became an instant hit with attendees, combining Django’s playful mascot with EuroPython Society’s identity.</p>
<p><img alt="Close-up of a Django pony sticker someone is holding. The pony is smiling and wears a EuroPython Society shirt" src="https://media.djangoproject.com/blog/images/2025/09/europython-2025-django-pony-sticker-close-up-60-credits-europython-society.webp"></p>
<p>The Django community was also active during the sprint weekend. Over two days, 21 participants worked on Django, tackling 12 issues and merging 4 pull requests. For newcomers, it was a welcoming way to start contributing; for experienced developers, it was a chance to share knowledge and push the project forward together.</p>
<p><img alt="Collage of 3 pictures: sprint participants all around a table working together with laptops; 3 people troubleshooting together; Tom looking thoughtful. With EuroPython 2025 and Django branding in-between the pics." src="https://media.djangoproject.com/blog/images/2025/09/europython-2025-sprints-collage-60-credits-europython-society.webp"></p>
<p>We asked the members of the Django Software Foundation attending EuroPython how they liked EuroPython and this is what they said: </p>
<blockquote>
<p>The talks and tutorials were so great and I got to witness amazing projects from this community. This was my first EuroPython conference and let me tell you, this community over-delivered. It was also my first time organizing Django Girls outside Africa. Django Girls Prague was amazing.</p>
<p>– <a href="https://www.linkedin.com/in/doreennangira/">Doreen Nangira</a> - Django Girls organizer</p>
</blockquote>
<hr>
<blockquote>
<p>Just the perfect mixture of catching up with people I know, meeting people I don’t know, learning new things. Time well spent chatting w/ Python veterans and also first-timers. Volunteering there was ACE, and I’m thankful we got to have a booth and birthday cake for Django 🎂</p>
<p>– <a href="https://www.linkedin.com/in/thibaudcolas/">Thibaud Colas</a> - President, Django Software Foundation</p>
</blockquote>
<hr>
<blockquote>
<p>It was my first EuroPython, it felt really special! I was surrounded by wonderful people, and it was an amazing experience to volunteer at our community booth.</p>
<p>– <a href="https://www.linkedin.com/in/raffaella-s/">Raffaella Suardini</a> - Djangonaut Space organizer</p>
</blockquote>
<p>We’re delighted the DSF joined us this year. If you’re part of a foundation and would like to have a booth at EuroPython, keep an eye out for our Call for Communities next year.</p>
<hr>
<p>Thank you to EuroPython Vice Chair and DSF Individual member <a href="https://www.linkedin.com/in/mia-bajic">Mia Bajić</a> for reporting back on the event ❤️. And thank you to our volunteers Tom Carrick, Thibaud Colas, Raffaella Suardini, and Alex Gómez who represented our foundation at the conference. As well as to Doreen Nangira who ran the Django Girls+ workshop at the conference!</p> Mia Bajić Fri, 05 Sep 2025 09:02:23 -0500 https://www.djangoproject.com/weblog/2025/sep/05/dsf-at-europython-2025-celebrating-20-years/ Last call for DjangoCon US 2025 tickets! https://www.djangoproject.com/weblog/2025/sep/04/last-call-for-djangocon-us-2025-tickets/<p>DjangoCon US starts next week in Chicago, IL on September 8-12th, 2025!</p>
<p>With three amazing keynotes and over fifty presentations over three days, join us in person or online where you can watch presentations on your own schedule or stream live with us during the live event.</p>
<p><strong>Can't make it to Chicago?</strong> Our <a href="https://ti.to/defna/djangocon-us-2025">online tickets</a> give you the best of both worlds. Watch live as it happens or catch up on your own schedule – all talks will be available to stream throughout the conference and beyond. You'll get the same great content, participate in online discussions, and join our vibrant community from wherever you are. Plus, with two days of virtual sprints alongside our in-person sprints, online attendees can contribute to Django projects and collaborate with the community just like everyone else.</p>
<p><a class="cta" href="https://ti.to/defna/djangocon-us-2025">Join DjangoCon US online</a></p>
<p><strong><a href="https://ti.to/defna/djangocon-us-2025">Get your ticket today</a></strong> before it's too late! Check out the <a href="https://2025.djangocon.us/schedule/">full schedule</a>, visit <a href="https://2025.djangocon.us">2025.djangocon.us</a> for more details, or contact us at <a href="mailto:hello@djangocon.us">hello@djangocon.us</a> with any questions.</p> DjangoCon US Organizers Thu, 04 Sep 2025 12:01:36 -0500 https://www.djangoproject.com/weblog/2025/sep/04/last-call-for-djangocon-us-2025-tickets/ Keyboard shortcuts in Django via GSoC 2025 https://www.djangoproject.com/weblog/2025/sep/04/keyboard-shorcuts-in-django-via-gsoc-2025/<p>This summer I participated in the <a href="https://summerofcode.withgoogle.com/">Google Summer of Code</a> program with Django. My work focused on introducing keyboard shortcuts to the Django admin interface which led to a new package: <a href="https://github.com/khanxmetu/django-admin-keyshortcuts">django-admin-keyshortcuts</a>.</p>
<h4 id="s-proposal-and-community-discussions">Proposal and Community Discussions</h4>
<p>My original GSoC proposal was to improve the existing <a href="https://github.com/knyghty/django-admin-keyboard-shortcuts">django-admin-keyboard-shortcuts</a> package maintained by one of my mentors, Tom. The plan was to fix bugs, add new keyboard shortcuts, build a command palette, and eventually merge these features into Django's core admin. I initially thought getting my GSoC proposal accepted meant I could dive straight into coding. But Tom explained that Django has its own process for new features, which starts off with community discussions.</p>
<p>After posting on the forum and gathering feedback, we decided to focus on keyboard shortcuts only, and continue exploring that in packages rather than target Django core immediately. This way the feature can be tested and improved more quickly without waiting on Django's <a href="https://www.djangoproject.com/download/#supported-versions">long release cycle</a>.</p>
<p>The <a href="https://www.djangoproject.com/foundation/teams/#accessibility-team">accessibility team</a> helped drafting keyboard shortcuts outlining key requirements and expected outcomes, in particular making sure shortcuts would be widely compatible with browsers and assistive technologies. That document served as the base for developing django-admin-keyshortcuts.</p>
<h4 id="s-django-admin-keyshortcuts">django-admin-keyshortcuts</h4>
<p>This package adds useful keyboard shortcuts to the Django admin interface. The goal is to make the Django admin interface faster to navigate and more accessible to keyboard-first users. Here are some of the shortcuts we have added so far:</p>
<ul>
<li><kbd>/</kbd> focuses the search bar.</li>
<li><kbd>j</kbd>/<kbd>k</kbd> focuses next/previous object.</li>
<li><kbd>Ctrl</kbd>+<kbd>s</kbd> saves the object.</li>
<li><kbd>Alt</kbd>+<kbd>d</kbd> prompts to delete the object.</li>
</ul>
<p>The package also comes with a keyboard shortcuts dialog, crucial so users of the admin can discover those new features:</p>
<p><img alt="Screenshot of the keyboard shortcuts dialog displayed as a modal over the Django admin interface. It displays 6 shortcuts" src="https://media.djangoproject.com/blog/images/2025/09/khanxmetu.github.io_django-admin-keyshortcuts-demo_demo_artist_.png"></p>
<p>Developers can also define custom shortcuts by extending admin templates. Detailed instructions can be found in the package's README.</p>
<p>Under the hood, the package uses the <a href="https://github.com/github/hotkey">hotkey library</a> for handling shortcuts. The library seems to be well maintained (compared to other alternatives) and is used for keyboard shortcuts in GitHub.</p>
<h4 id="s-whats-next">What's next</h4>
<p>We have made a lot of progress, but there's still work to do before we can push to merge this functionality inside Django core.</p>
<h5 id="s-implementation-issues">Implementation issues</h5>
<p>Right now, there are a couple of known problems:</p>
<ul>
<li><a href="https://github.com/khanxmetu/django-admin-keyshortcuts/issues/2">Shortcuts do not trigger when input or textfield is focused</a>: </li>
<li><a href="https://github.com/khanxmetu/django-admin-keyshortcuts/issues/3">Shortcut keys not consistent when switched to non-US layouts</a>: </li>
</ul>
<p>To address these we may wait for the hotkey library maintainers to implement the necessary fixes, or look for alternatives.</p>
<h5 id="s-gather-feedback">Gather feedback</h5>
<p>We want more users to try it out! Testing in different scenarios will help find bugs faster and improve the package. The default shortcut set is also small, we need feedback to determine which shortcuts are most useful. We also plan to list the package on a new "Experiments" section on the new <a href="/community/ecosystem/">Django Ecosystem</a> page to make it more visible.</p>
<p>But for now, try it out and let us know what you think! We have a <a href="https://khanxmetu.github.io/django-admin-keyshortcuts-demo/demo/release/">static admin demo</a> for people to directly try the shortcuts. Or install <a href="https://github.com/khanxmetu/django-admin-keyshortcuts">django-admin-keyshortcuts</a> to test it on your own project.</p>
<p><a class="cta" href="https://khanxmetu.github.io/django-admin-keyshortcuts-demo/demo/release/">Try the new shortcuts</a></p>
<p>Let us know what you think <a href="https://forum.djangoproject.com/t/feedback-django-admin-keyboard-shortcuts/42783">over on the Django Forum</a>!</p> A. Rafey Khan Thu, 04 Sep 2025 10:02:51 -0500 https://www.djangoproject.com/weblog/2025/sep/04/keyboard-shorcuts-in-django-via-gsoc-2025/