Feed: Simon Willison's Weblog: django

Quoting Tim Schilling

March 17, 2026 » Simon Willison's Weblog: django » [Archived Version]

If you do not understand the ticket, if you do not understand the solution, or if you do not understand the feedback on your PR, then your use of LLM is hurting Django as a whole. [...] For a reviewer, it’s demoralizing to communicate with a facade of a human. This is because contributing to open source, especially Django, is a communal endeavor. Removing your humanity from that experience makes that endeavor more difficult. If you use an LLM to contribute to Django, it needs to be as a complem…

Read More

Shopify/liquid: Performance: 53% faster parse+render, 61% fewer allocations

March 13, 2026 » Simon Willison's Weblog: django » [Archived Version]

Shopify/liquid: Performance: 53% faster parse+render, 61% fewer allocations PR from Shopify CEO Tobias Lütke against Liquid, Shopify's open source Ruby template engine that was somewhat inspired by Django when Tobi first created it back in 2005. Tobi found dozens of new performance micro-optimizations using a variant of autoresearch, Andrej Karpathy's new system for having a coding agent running hundreds of semi-autonomous experiments to find new effective techniques for training nanochat. Tob…

Read More

SWE-bench February 2026 leaderboard update

Feb. 19, 2026 » Simon Willison's Weblog: django » [Archived Version]

SWE-bench February 2026 leaderboard update SWE-bench is one of the benchmarks that the labs love to list in their model releases. The official leaderboard is infrequently updated but they just did a full run of it against the current generation of models, which is notable because it's always good to see benchmark results like this that weren't self-reported by the labs. The fresh results are for their "Bash Only" benchmark, which runs their mini-swe-bench agent (~9,000 lines of Python, here are…

Read More

Adding dynamic features to an aggressively cached website

Jan. 28, 2026 » Simon Willison's Weblog: django » [Archived Version]

My blog uses aggressive caching: it sits behind Cloudflare with a 15 minute cache header, which guarantees it can survive even the largest traffic spike to any given page. I've recently added a couple of dynamic features that work in spite of that full-page caching. Here's how those work. Edit links that are visible only to me This is a Django site and I manage it through the Django admin. I have four types of content - entries, link posts (aka blogmarks), quotations and notes. Each of those ha…

Read More

Django 6.0 released

Dec. 4, 2025 » Simon Willison's Weblog: django » [Archived Version]

Django 6.0 released Django 6.0 includes a flurry of neat features, but the two that most caught my eye are background workers and template partials. Background workers started out as DEP (Django Enhancement Proposal) 14, proposed and shepherded by Jake Howard. Jake prototyped the feature in django-tasks and wrote this extensive background on the feature when it landed in core just in time for the 6.0 feature freeze back in September. Kevin Wetzels published a useful first look at Django's backg…

Read More

YouTube embeds fail with a 153 error

Dec. 1, 2025 » Simon Willison's Weblog: django » [Archived Version]

YouTube embeds fail with a 153 error I just fixed this bug on my blog. I was getting an annoying "Error 153: Video player configuration error" on some of the YouTube video embeds (like this one) on this site. After some digging it turns out the culprit was this HTTP header, which Django's SecurityMiddleware was sending by default: Referrer-Policy: same-origin YouTube's embedded player terms documentation explains why this broke: API Clients that use the YouTube embedded player (including the …

Read More

Highlights from my appearance on the Data Renegades podcast with CL Kao and Dori Wilson

Nov. 26, 2025 » Simon Willison's Weblog: django » [Archived Version]

I talked with CL Kao and Dori Wilson for an episode of their new Data Renegades podcast titled Data Journalism Unleashed with Simon Willison. I fed the transcript into Claude Opus 4.5 to extract this list of topics with timestamps and illustrative quotes. It did such a good job I'm using what it produced almost verbatim here - I tidied it up a tiny bit and added a bunch of supporting links. What is data journalism and why it's the most interesting application of data analytics [02:03] "There…

Read More

How I automate my Substack newsletter with content from my blog

Nov. 19, 2025 » Simon Willison's Weblog: django » [Archived Version]

I sent out my weekly-ish Substack newsletter this morning and took the opportunity to record a YouTube video demonstrating my process and describing the different components that make it work. There's a lot of digital duct tape involved, taking the content from Django+Heroku+PostgreSQL to GitHub Actions to SQLite+Datasette+Fly.io to JavaScript+Observable and finally to Substack. The core process is the same as I described back in 2023. I have an Observable notebook called blog-to-newsletter…

Read More

Talk Python: Celebrating Django's 20th Birthday With Its Creators

Aug. 29, 2025 » Simon Willison's Weblog: django » [Archived Version]

Talk Python: Celebrating Django's 20th Birthday With Its Creators I recorded this podcast episode recently to celebrate Django's 20th birthday with Adrian Holovaty, Will Vincent, Jeff Triplet, and Thibaud Colas. We didn’t know that it was a web framework. We thought it was a tool for building local newspaper websites. [...] Django’s original tagline was ‘Web development on journalism deadlines’. That’s always been my favorite description of the project. Tags: django, podcast-appearances…

Read More

Happy 20th birthday Django! Here's my talk on Django Origins from Django's 10th

July 13, 2025 » Simon Willison's Weblog: django » [Archived Version]

Today is the 20th anniversary of the first commit to the public Django repository! Ten years ago we threw a multi-day 10th birthday party for Django back in its birthtown of Lawrence, Kansas. As a personal celebration of the 20th, I'm revisiting the talk I gave at that event and writing it up here. Here's the YouTube video. Below is a full transcript, plus my slides and some present-day annotations. Django Origins (and some things I have built with Django) Presented 11th July 2015 at Django…

Read More