diff options
| author | Natalia <124304+nessita@users.noreply.github.com> | 2025-08-01 09:48:51 -0300 |
|---|---|---|
| committer | Natalia <124304+nessita@users.noreply.github.com> | 2025-08-04 21:53:33 -0300 |
| commit | f01ceae477a71a1c244c332e1b53a9499e484874 (patch) | |
| tree | fd5e9e5d3b66dbea51b07daba5f795e43f9fe9c8 | |
| parent | 5ca58ce3d0d254752caa19e96055f54feadd5582 (diff) | |
[5.2.x] Fixed #36535 -- Ensured compatibility with docutils 0.19 through 0.22.
Regression in 65ab92f6a83644bbb555d0eff3a02d8d9301aba4.
Backport of 9cec8d9f55d90fbc162fde23d6ea7a34e322fcae from main.
| -rw-r--r-- | django/contrib/admindocs/utils.py | 6 | ||||
| -rw-r--r-- | docs/releases/5.2.5.txt | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/django/contrib/admindocs/utils.py b/django/contrib/admindocs/utils.py index 749098ecaa..6f8e67e101 100644 --- a/django/contrib/admindocs/utils.py +++ b/django/contrib/admindocs/utils.py @@ -13,6 +13,7 @@ try: import docutils.core import docutils.nodes import docutils.parsers.rst.roles + import docutils.writers except ImportError: docutils_is_available = False else: @@ -78,11 +79,14 @@ def parse_rst(text, default_reference_context, thing_being_parsed=None): .. default-role:: """ + # In docutils < 0.22, the `writer` param must be an instance. Passing a + # string writer name like "html" is only supported in 0.22+. + writer_instance = docutils.writers.get_writer_class("html")() parts = docutils.core.publish_parts( source % text, source_path=thing_being_parsed, destination_path=None, - writer="html", + writer=writer_instance, settings_overrides=overrides, ) return mark_safe(parts["fragment"]) diff --git a/docs/releases/5.2.5.txt b/docs/releases/5.2.5.txt index bdb78d0c63..6791983aad 100644 --- a/docs/releases/5.2.5.txt +++ b/docs/releases/5.2.5.txt @@ -19,3 +19,5 @@ Bugfixes * Fixed a crash in Django 5.2 when validating a model that uses ``GeneratedField`` or constraints composed of ``Q`` and ``Case`` lookups (:ticket:`36518`). + +* Added compatibility for ``docutils`` 0.22 (:ticket:`36535`). |
