2.0a1 (2023-01-18)
Major Changes and Migration Guide
-
Removed all Bootstrap template packs. These template packs are now available as standalone packages.
To upgrade, install the required template pack and add it to your
INSTALLED_APPS
setting.Also, support for Bootstrap 5 is provided by a 3rd party package under the
django-crispy-forms
organisation at
crispy-bootstrap5. -
Removed uni-form template pack. Uni-Form specific classes previously added to every template pack e.g.
textInput
are now removed.
If you require these classes, the previous behaviour can be restored by adding the following to CRISPY_CLASS_CONVERTERS in your settings file.converters = { "textinput": "textinput textInput", "fileinput": "fileinput fileUpload", "passwordinput": "textinput textInput", }
-
The
uni-form
template pack allowed for rendering of templates using adefault
orinline
layout. As theuni-form
template
pack has been removed support for this has also been removed. This has resulted in the following BREAKING changes.- The
form_style
attribute ofFormHelper
is removed. - The
form_style
positional argument torender_field()
is removed. - The
form_style
positional argument to therender()
method of allLayoutObjects
is removed.
Audit for use of
render()
andrender_field()
due to the removal of theform_style
positional argument is therefore
required. For example:# django-crispy-forms 1.x html = my_layout_object.render(form, form_style, context) # django-crispy-forms 2.x html = my_layout_object.render(form, context)
- The
-
Widespread use of the
|safe
in crispy-form templates is removed. Audit for html input in your forms
especially for Field and Prepended/Appended text. To retain the previous behaviour mark text as safe
in your project code using
mark_safe()
. Refs #296.
Other Changes
- Dropped support for Django 2.2.
- Added support for Django 4.1 and 4.2.
- Added support for Python 3.11.
- The
flat_attrs()
method ofFormActions
is removed. Attributes provided by**kwargs
are now passed via theflat_attrs
function during__init__()
instead of with each call ofrender()
- The
html5_required
attribute ofFormHelper
is removed. In all supported versions of Django therequired
attribute is provided by the coreforms
module. - The
FormActions
layout object learnt acss_id
kwarg to add anid
to the rendered<div>
- The default values of "form_error_title" and "formset_error_title" of FormHelper changed from
None
to""
. - An attribute error is now raised if the
CRISPY_TEMPLATE_PACK
setting is not provided. - The
get_layout_objects()
andget_field_names()
functions ofLayoutObject
now return a list ofPointers
rather than a list
of lists. Pointers are adataclass
containing a list ofposistions
and thename
of object/field.