Announcing django-template-partials v23.3

I’ve just released the new version v23.3 of django-template-partials. 🎁

(Actually, there’s also a 23.3post1 release as well, because I wanted the README to show up on PyPI, but you don’t need to worry about that 😜)


This is the first major update since the initial release. It includes a number of bug fixes and adjustments from the feedback received.

Thanks to everyone who has tried the package and provided feedback.

Please read these notes carefully if you are upgrading from a previous version.

So, do read the CHANGELOG.

But also give the README another go over, as the docs are expanded there.


  • Template loaders are now automatically configured
    • You just put "template_partials" in your INSTALLED_APPS, and the rest is done for you.
    • You can remove the loaders lines you needed from the previous version. 💃
  • The block tags are renamed partialdef and endpartialdef, to match every other builtin block tag pair.
    • The old names are deprecated, but continue to work, so you can rename them at your leisure.
  • partialdef now takes an optional inline argument, to output it at the same time as defining it. (This was the most requested change from the initial feedback.)
  • The docs are expanded to show the common usage patterns that have come up in the discussion.

I hope you enjoy it. Please let me know if you have additional feedback.


For the minute (at least) that’s more or less it.

We made a small internal change to Django, that allows setting the partial data on the template in a private-but-official way. That will be in Django 5.1, and I’ll update django-template-partials to use that.

Other than that, I want to just see how it settles now. The initial wave of feedback identified the obvious changes. I’d expect some less obvious ones to bubble up as usage matures.

I’d like to review merging something here into core during the Django 5.2 cycle (in time for the 5.2 LTS) but that gives up plenty of time to see how it grows.