Contrib

Bootstrap mixin

class tapeforms.contrib.bootstrap.Bootstrap4TapeformMixin(*args, **kwargs)[source]

Bases: TapeformMixin

Tapeform Mixin to render Bootstrap v4 compatible forms. (using the template tags provided by tapeforms).

layout_template = 'tapeforms/layouts/bootstrap.html'[source]

Use a special layout template for Bootstrap compatible forms.

field_template = 'tapeforms/fields/bootstrap.html'[source]

Use a special field template for Bootstrap compatible forms.

field_container_css_class = 'form-group'[source]

All form field containers need a CSS class “form-group”.

widget_css_class = 'form-control'[source]

Almost all widgets need a CSS class “form-control”.

widget_invalid_css_class = 'is-invalid'[source]

Use a special class to invalid field’s widget.

widget_template_overrides = {<class 'django.forms.widgets.SelectDateWidget'>: 'tapeforms/widgets/bootstrap_multiwidget.html', <class 'django.forms.widgets.SplitDateTimeWidget'>: 'tapeforms/widgets/bootstrap_multiwidget.html', <class 'django.forms.widgets.RadioSelect'>: 'tapeforms/widgets/bootstrap_multipleinput.html', <class 'django.forms.widgets.CheckboxSelectMultiple'>: 'tapeforms/widgets/bootstrap_multipleinput.html'}[source]

Widgets with multiple inputs require some extra care (don’t use ul, etc.)

get_field_container_css_class(bound_field)[source]

Returns “form-check” if widget is CheckboxInput in addition of the default value from the form property (“form-group”) - which is returned for all other fields.

get_field_label_css_class(bound_field)[source]

Returns “form-check-label” if widget is CheckboxInput. For all other fields, no CSS class is added.

get_widget_css_class(field_name, field)[source]

Returns “form-check-input” if input widget is checkable, or “form-control-file” if widget is FileInput. For all other fields, returns the default value from the form property (“form-control”).

class tapeforms.contrib.bootstrap.Bootstrap5TapeformMixin(*args, **kwargs)[source]

Bases: Bootstrap4TapeformMixin

Tapeform Mixin to render Bootstrap v5 compatible forms. (using the template tags provided by tapeforms).

field_container_css_class = 'mb-3'[source]

Apply the CSS class “mb-3” to add spacing between the form fields.

field_label_css_class = 'form-label'[source]

Almost all labels need a CSS class “form-label”.

widget_template_overrides = {<class 'django.forms.widgets.SelectDateWidget'>: 'tapeforms/widgets/bootstrap5_multiwidget.html', <class 'django.forms.widgets.SplitDateTimeWidget'>: 'tapeforms/widgets/bootstrap5_multiwidget.html', <class 'django.forms.widgets.RadioSelect'>: 'tapeforms/widgets/bootstrap_multipleinput.html', <class 'django.forms.widgets.CheckboxSelectMultiple'>: 'tapeforms/widgets/bootstrap_multipleinput.html'}[source]

Widgets with multiple inputs require some extra care (don’t use ul, etc.)

get_widget_css_class(field_name, field)[source]

Returns “form-check-input” if input widget is checkable, or “form-select” if widget is Select or a subclass. For all other fields, returns the default value from the form property (“form-control”).

tapeforms.contrib.bootstrap.BootstrapTapeformMixin[source]

This alias is for backward compatibility only. It could be deprecated and removed at some time, you should use Bootstrap4TapeformMixin or Bootstrap5TapeformMixin instead.

Foundation mixin

class tapeforms.contrib.foundation.FoundationTapeformMixin(*args, **kwargs)[source]

Bases: TapeformMixin

Tapeform Mixin to render Foundation compatible forms. (using the template tags provided by tapeforms).

layout_template = 'tapeforms/layouts/foundation.html'[source]

Use a special layout template for Foundation compatible forms.

field_template = 'tapeforms/fields/foundation.html'[source]

Use a special field template for Foundation compatible forms.

field_label_invalid_css_class = 'is-invalid-label'[source]

Use a special class to invalid field’s label.

widget_invalid_css_class = 'is-invalid-input'[source]

Use a special class to invalid field’s widget.

widget_template_overrides = {<class 'django.forms.widgets.RadioSelect'>: 'tapeforms/widgets/foundation_multipleinput.html', <class 'django.forms.widgets.CheckboxSelectMultiple'>: 'tapeforms/widgets/foundation_multipleinput.html'}[source]

Widgets with multiple inputs require some extra care (don’t use ul, etc.)

get_field_template(bound_field, template_name=None)[source]

Uses a special field template for widget with multiple inputs. It only applies if no other template than the default one has been defined.