summaryrefslogtreecommitdiff
path: root/docs/releases
diff options
context:
space:
mode:
authorDavid Smith <smithdc@gmail.com>2022-11-02 20:13:16 +0000
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2023-03-24 10:16:30 +0100
commitcad376f844c7bdeeee7607a7c0ea8ae52061309b (patch)
tree674bcfb8a4b99c752bff23c029494987ed62f5ef /docs/releases
parentd33368b4ab6ae0c01e83d525f7e1655156a640d1 (diff)
downloaddjango-cad376f844c7bdeeee7607a7c0ea8ae52061309b.tar.gz
Fixed #34077 -- Added form field rendering.
Diffstat (limited to 'docs/releases')
-rw-r--r--docs/releases/5.0.txt63
1 files changed, 63 insertions, 0 deletions
diff --git a/docs/releases/5.0.txt b/docs/releases/5.0.txt
index b2e8b9d48b..08de2a3740 100644
--- a/docs/releases/5.0.txt
+++ b/docs/releases/5.0.txt
@@ -45,6 +45,69 @@ toggled on via the UI. This behavior can be changed via the new
:attr:`.ModelAdmin.show_facets` attribute. For more information see
:ref:`facet-filters`.
+Simplified templates for form field rendering
+---------------------------------------------
+
+Django 5.0 introduces the concept of a field group, and field group templates.
+This simplifies rendering of the related elements of a Django form field such
+as its label, widget, help text, and errors.
+
+For example, the template below:
+
+.. code-block:: html+django
+
+ <form>
+ ...
+ <div>
+ {{ form.name.label }}
+ {% if form.name.help_text %}
+ <div class="helptext">{{ form.name.help_text|safe }}</div>
+ {% endif %}
+ {{ form.name.errors }}
+ {{ form.name }}
+ <div class="row">
+ <div class="col">
+ {{ form.email.label }}
+ {% if form.email.help_text %}
+ <div class="helptext">{{ form.email.help_text|safe }}</div>
+ {% endif %}
+ {{ form.email.errors }}
+ {{ form.email }}
+ </div>
+ <div class="col">
+ {{ form.password.label }}
+ {% if form.password.help_text %}
+ <div class="helptext">{{ form.password.help_text|safe }}</div>
+ {% endif %}
+ {{ form.password.errors }}
+ {{ form.password }}
+ </div>
+ </div>
+ </div>
+ ...
+ </form>
+
+Can now be simplified to:
+
+.. code-block:: html+django
+
+ <form>
+ ...
+ <div>
+ {{ form.name.as_field_group }}
+ <div class="row">
+ <div class="col">{{ form.email.as_field_group }}</div>
+ <div class="col">{{ form.password.as_field_group }}</div>
+ </div>
+ </div>
+ ...
+ </form>
+
+:meth:`~django.forms.BoundField.as_field_group` renders fields with the
+``"django/forms/field.html"`` template by default and can be customized on a
+per-project, per-field, or per-request basis. See
+:ref:`reusable-field-group-templates`.
+
Minor features
--------------