API templatetags

class templatetags.crispy_forms_tags.BasicNode(form, helper)[source]

Basic Node object that we can rely on for Node objects in normal template tags. I created this because most of the tags we’ll be using will need both the form object and the helper string. This handles both the form object and parses out the helper string into attributes that templates can easily handle.


Returns a Context object with all the necesarry stuff for rendering the form

Parameters:contextdjango.template.Context variable holding the context for the node

self.form and self.helper are resolved into real Python objects resolving them from the context. The actual_form can be a form or a formset. If it’s a formset is_formset is set to True. If the helper has a layout we use it, for rendering the form or the formset’s forms.

get_response_dict(helper, context, is_formset)[source]

Returns a dictionary with all the parameters necessary to render the form/formset in a template.

  • attrs – Dictionary with the helper’s attributes used for rendering the form/formset
  • contextdjango.template.Context for the node
  • is_formset – Boolean value. If set to True, indicates we are working with a formset.
class templatetags.crispy_forms_tags.CrispyFormNode(form, helper)[source]
class templatetags.crispy_forms_tags.ForLoopSimulator(formset)[source]

Simulates a forloop tag, precisely:

{% for form in formset.forms %}

If {% crispy %} is rendering a formset with a helper, We inject a ForLoopSimulator object in the context as forloop so that formset forms can do things like:

Fieldset("Item {{ forloop.counter }}", [...])
HTML("{% if forloop.first %}First form text{% endif %}"

Updates values as if we had iterated over the for

templatetags.crispy_forms_tags.do_uni_form(parser, token)[source]

You need to pass in at least the form/formset object, and can also pass in the optional crispy_forms.helpers.FormHelper object.

helper (optional): A uni_form.helper.FormHelper object.


{% include crispy_tags %}
{% crispy form form.helper %}

If the FormHelper attribute is named helper you can simply do:

{% crispy form %}

Renders only form errors the same way as django-crispy-forms:

{% load crispy_forms_tags %}
{{ form|as_crispy_errors }}

Renders a form field like a django-crispy-forms field:

{% load crispy_forms_tags %}
{{ form.field|as_crispy_field }}

The original and still very useful way to generate a div elegant form/formset:

{% load crispy_forms_tags %}
<form class=”uniForm” method=”post”>
{% csrf_token %} {{ myform|crispy }}


class templatetags.crispy_forms_field.CrispyFieldNode(field, attrs)[source]

Returns CSS classes of a field

templatetags.crispy_forms_field.crispy_field(parser, token)[source]

{% crispy_field field attrs %}


Returns widgets class name in lowercase


s -> (s0,s1), (s2,s3), (s4, s5), ...


django-crispy-forms is a Django application that lets you easily build, customize and reuse forms using your favorite CSS framework, without writing template code and without having to take care of annoying details. You are currently looking at the documentation of the development release.


If you love django-crispy-forms, consider making a small donation on Flattr:

Related Topics

This Page