<feed xmlns='http://www.w3.org/2005/Atom'>
<title>django.git/django/utils/datastructures.py, branch main</title>
<subtitle>django
</subtitle>
<id>http://cgit.adnoto.dev/django.git/atom?h=main</id>
<link rel='self' href='http://cgit.adnoto.dev/django.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/'/>
<updated>2025-08-15T00:53:14Z</updated>
<entry>
<title>Fixed #36410 -- Added support for Template Partials to the Django Template Language.</title>
<updated>2025-08-15T00:53:14Z</updated>
<author>
<name>farhan</name>
<email>farhanalirazaazeemi@gmail.com</email>
</author>
<published>2025-06-03T05:32:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=5e06b970956af4854e970e74990cb971ba31c96b'/>
<id>urn:sha1:5e06b970956af4854e970e74990cb971ba31c96b</id>
<content type='text'>
Introduced `{% partialdef %}` and `{% partial %}` template tags to
define and render reusable named fragments within a template file.
Partials can also be accessed using the `template_name#partial_name`
syntax via `get_template()`, `render()`, `{% include %}`, and other
template-loading tools.

Adjusted `get_template()` behavior to support partial resolution, with
appropriate error handling for invalid names and edge cases. Introduced
`PartialTemplate` to encapsulate partial rendering behavior.

Includes tests and internal refactors to support partial context
binding, exception reporting, and tag validation.

Co-authored-by: Carlton Gibson &lt;carlton@noumenal.es&gt;
Co-authored-by: Natalia &lt;124304+nessita@users.noreply.github.com&gt;
Co-authored-by: Nick Pope &lt;nick@nickpope.me.uk&gt;
</content>
</entry>
<entry>
<title>Refs #36500 -- Shortened some long docstrings and comments.</title>
<updated>2025-07-23T23:17:55Z</updated>
<author>
<name>Mike Edmunds</name>
<email>medmunds@gmail.com</email>
</author>
<published>2025-07-23T03:40:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=55b0cc21310b76ce4018dd793ba50556eaf0af06'/>
<id>urn:sha1:55b0cc21310b76ce4018dd793ba50556eaf0af06</id>
<content type='text'>
Manually reformatted some long docstrings and comments that would be
damaged by the to-be-applied autofixer script, in cases where editorial
judgment seemed necessary for style or wording changes.
</content>
</entry>
<entry>
<title>Refs #34233 -- Used str.removeprefix()/removesuffix().</title>
<updated>2023-01-18T18:11:18Z</updated>
<author>
<name>Mariusz Felisiak</name>
<email>felisiak.mariusz@gmail.com</email>
</author>
<published>2023-01-18T18:11:18Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=23e886886249ebe8f80a48b0d25fbb5308eeb06f'/>
<id>urn:sha1:23e886886249ebe8f80a48b0d25fbb5308eeb06f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed #33532 -- Optimized CaseInsensitiveMapping instantiation for dicts.</title>
<updated>2022-02-23T19:15:22Z</updated>
<author>
<name>Keryn Knight</name>
<email>keryn@kerynknight.com</email>
</author>
<published>2022-02-23T19:15:22Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=3de787a70b6c140a3b1289a8ce12b17ebcb8a200'/>
<id>urn:sha1:3de787a70b6c140a3b1289a8ce12b17ebcb8a200</id>
<content type='text'>
Internal usages of this class (e.g. HttpHeaders) provide it with a dict,
so testing for that type first avoids the cost of going through the
potential __instancecheck__ + _abc_instancecheck to establish it's
a Mapping.

Co-authored-by: Nick Pope &lt;nick@nickpope.me.uk&gt;</content>
</entry>
<entry>
<title>Refs #33476 -- Reformatted code with Black.</title>
<updated>2022-02-07T19:37:05Z</updated>
<author>
<name>django-bot</name>
<email>ops@djangoproject.com</email>
</author>
<published>2022-02-03T19:24:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=9c19aff7c7561e3a82978a272ecdaad40dda5c00'/>
<id>urn:sha1:9c19aff7c7561e3a82978a272ecdaad40dda5c00</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Optimized handling case-insensitive mappings.</title>
<updated>2021-09-22T07:26:21Z</updated>
<author>
<name>Illia Volochii</name>
<email>illia.volochii@gmail.com</email>
</author>
<published>2021-09-20T19:33:42Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=bc4c7e5d68e01207268c868932eb14ae4206f02c'/>
<id>urn:sha1:bc4c7e5d68e01207268c868932eb14ae4206f02c</id>
<content type='text'>
Elements yielded by _destruct_iterable_mapping_values are always
unpacked. Since unpacking can be done with any iterable, there is no
need to convert elements to tuples. Also, such elements can be used
directly in for loops, creating a dictionary of them is excessive.

Co-authored-by: Nick Pope &lt;nick@nickpope.me.uk&gt;
</content>
</entry>
<entry>
<title>Fixed 32956 -- Lowercased spelling of "web" and "web framework" where appropriate.</title>
<updated>2021-07-29T04:24:12Z</updated>
<author>
<name>David Smith</name>
<email>smithdc@gmail.com</email>
</author>
<published>2021-07-23T06:48:16Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=1024b5e74a7166313ad4e4975a15e90dccd3ec5f'/>
<id>urn:sha1:1024b5e74a7166313ad4e4975a15e90dccd3ec5f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refs #24121 -- Added __repr__() to OrderedSet.</title>
<updated>2021-03-10T08:29:05Z</updated>
<author>
<name>Nick Pope</name>
<email>nick@nickpope.me.uk</email>
</author>
<published>2021-03-10T08:29:05Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=afb0eb8bb3e1c6f7ea842d2cede684eb4aec3f3d'/>
<id>urn:sha1:afb0eb8bb3e1c6f7ea842d2cede684eb4aec3f3d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed #32517 -- Made OrderedSet reversible.</title>
<updated>2021-03-08T07:22:07Z</updated>
<author>
<name>Diego Lima</name>
<email>diego.lima@lais.huol.ufrn.br</email>
</author>
<published>2021-03-06T20:41:24Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=2e5aa444d140a9f2bc858e493ff85ced589f1a58'/>
<id>urn:sha1:2e5aa444d140a9f2bc858e493ff85ced589f1a58</id>
<content type='text'>
Refs #32516.
</content>
</entry>
<entry>
<title>Updated MultiValueDict.update() to mirror dict.update() behavior.</title>
<updated>2020-10-30T09:44:44Z</updated>
<author>
<name>Nick Pope</name>
<email>nick.pope@flightdataservices.com</email>
</author>
<published>2020-10-05T14:57:47Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=966b5b49b6521483f1c90b4499c4c80e80136de3'/>
<id>urn:sha1:966b5b49b6521483f1c90b4499c4c80e80136de3</id>
<content type='text'>
Changes in behavior include:

- Accepting iteration over empty sequences, updating nothing.
- Accepting iterable of 2-tuples providing key-value pairs.
- Failing with the same or comparable exceptions for invalid input.

Notably this replaces the previous attempt to catch TypeError which was
unreachable as the call to .items() resulted in AttributeError on
non-dict objects.
</content>
</entry>
</feed>
