Теги шаблонов API¶
- class templatetags.crispy_forms_tags.BasicNode(form, helper, template_pack=None)[исходный код]¶
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.
- get_render(context)[исходный код]¶
Returns a Context object with all the necessary stuff for rendering the form
- Параметры
context – django.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)[исходный код]¶
Returns a dictionary with all the parameters necessary to render the form/formset in a template.
- Параметры
context – django.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, template_pack=None)[исходный код]¶
- render(context)[исходный код]¶
Return the node rendered as a string.
- class templatetags.crispy_forms_tags.ForLoopSimulator(formset)[исходный код]¶
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 %}"
- iterate()[исходный код]¶
Updates values as if we had iterated over the for
- templatetags.crispy_forms_tags.do_uni_form(parser, token)[исходный код]¶
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 crispy_forms.helper.FormHelper object.
Usage:
{% load crispy_tags %} {% crispy form form.helper %}
You can also provide the template pack as the third argument:
{% crispy form form.helper 'bootstrap' %}
If the FormHelper attribute is named helper you can simply do:
{% crispy form %} {% crispy form 'bootstrap' %}
- templatetags.crispy_forms_tags.whole_uni_form_template(template_pack=<SimpleLazyObject: 'bootstrap'>)[исходный код]¶
- templatetags.crispy_forms_tags.whole_uni_formset_template(template_pack=<SimpleLazyObject: 'bootstrap'>)[исходный код]¶
- templatetags.crispy_forms_filters.as_crispy_errors(form, template_pack=<SimpleLazyObject: 'bootstrap'>)[исходный код]¶
Renders only form errors the same way as django-crispy-forms:
{% load crispy_forms_tags %} {{ form|as_crispy_errors }}
or:
{{ form|as_crispy_errors:"bootstrap" }}
- templatetags.crispy_forms_filters.as_crispy_field(field, template_pack=<SimpleLazyObject: 'bootstrap'>, label_class='', field_class='')[исходный код]¶
Renders a form field like a django-crispy-forms field:
{% load crispy_forms_tags %} {{ form.field|as_crispy_field }}
or:
{{ form.field|as_crispy_field:"bootstrap" }}
- templatetags.crispy_forms_filters.as_crispy_form(form, template_pack=<SimpleLazyObject: 'bootstrap'>, label_class='', field_class='')[исходный код]¶
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 }} </form>
or, if you want to explicitly set the template pack:
{{ myform|crispy:"bootstrap" }}
In
bootstrap3
orbootstrap4
for horizontal forms you can do:{{ myform|label_class:"col-lg-2",field_class:"col-lg-8" }}
- templatetags.crispy_forms_filters.flatatt_filter(attrs)[исходный код]¶
- templatetags.crispy_forms_filters.uni_form_template(template_pack=<SimpleLazyObject: 'bootstrap'>)[исходный код]¶
- templatetags.crispy_forms_filters.uni_formset_template(template_pack=<SimpleLazyObject: 'bootstrap'>)[исходный код]¶
- class templatetags.crispy_forms_field.CrispyFieldNode(field, attrs)[исходный код]¶
- render(context)[исходный код]¶
Return the node rendered as a string.
- templatetags.crispy_forms_field.classes(field)[исходный код]¶
Returns CSS classes of a field
- templatetags.crispy_forms_field.crispy_addon(field, append='', prepend='', form_show_labels=True)[исходный код]¶
Renders a form field using bootstrap’s prepended or appended text:
{% crispy_addon form.my_field prepend="$" append=".00" %}
You can also just prepend or append like so
{% crispy_addon form.my_field prepend=»$» %} {% crispy_addon form.my_field append=».00» %}
- templatetags.crispy_forms_field.crispy_field(parser, token)[исходный код]¶
{% crispy_field field attrs %}
- templatetags.crispy_forms_field.css_class(field)[исходный код]¶
Returns widgets class name in lowercase
- templatetags.crispy_forms_field.is_checkbox(field)[исходный код]¶
- templatetags.crispy_forms_field.is_checkboxselectmultiple(field)[исходный код]¶
- templatetags.crispy_forms_field.is_clearable_file(field)[исходный код]¶
- templatetags.crispy_forms_field.is_file(field)[исходный код]¶
- templatetags.crispy_forms_field.is_multivalue(field)[исходный код]¶
- templatetags.crispy_forms_field.is_password(field)[исходный код]¶
- templatetags.crispy_forms_field.is_radioselect(field)[исходный код]¶
- templatetags.crispy_forms_field.is_select(field)[исходный код]¶
- templatetags.crispy_forms_field.pairwise(iterable)[исходный код]¶
s -> (s0,s1), (s2,s3), (s4, s5), …