Python Crispy表单包括导致许多重复模板的标记
我有一个Django站点,它使用下面的模板呈现crispy forms模型表单集。使用Python Crispy表单包括导致许多重复模板的标记,python,html,django,django-crispy-forms,Python,Html,Django,Django Crispy Forms,我有一个Django站点,它使用下面的模板呈现crispy forms模型表单集。使用django调试工具栏,我发现include标记多次呈现bootstrap4模板。我认为这是扼杀我的性能的原因(即3-4分钟加载一个包含100个表单的内联表单集) 如何替换include标记以避免重复渲染?我应该使用extend吗 我可以用bootstrap4 crispy forms模板中的实际html替换include标记,但是这些模板也有嵌套模板。这创造了一个构建主crispy表单模板的练习,该模板包含所
django调试工具栏
,我发现include
标记多次呈现bootstrap4模板。我认为这是扼杀我的性能的原因(即3-4分钟加载一个包含100个表单的内联表单集)
如何替换include
标记以避免重复渲染?我应该使用extend吗
我可以用bootstrap4 crispy forms模板中的实际html替换include
标记,但是这些模板也有嵌套模板。这创造了一个构建主crispy表单模板的练习,该模板包含所有内容……这似乎是一个错误的方法。此外,我尝试用实际的html替换bootstrap4/field.html
include标记,field.html
仍然是重复的,并且由于使用tag='td'丢失,数据丢失了它的表结构
{% load crispy_forms_tags %}
{% load crispy_forms_utils %}
{% load crispy_forms_field %}
{% specialspaceless %}
{% if formset_tag %}
<form {{ flat_attrs|safe }} method="{{ form_method }}" {% if formset.is_multipart %} enctype="multipart/form-data"{% endif %}>
{% endif %}
{% if formset_method|lower == 'post' and not disable_csrf %}
{% csrf_token %}
{% endif %}
<div>
{{ formset.management_form|crispy }}
</div>
<div class='table-responsive'>
<table{% if form_id %} id="{{ form_id }}_table"{% endif%} class="table table-hover table-sm" id='dispositionTable'>
<thead>
{% if formset.readonly and not formset.queryset.exists %}
{% else %}
<tr>
{% for field in formset.forms.0 %}
{% if field.label and not field|is_checkbox and not field.is_hidden %}
<th for="{{ field.auto_id }}" class="form-control-label {% if field.field.required %}requiredField{% endif %}">
{{ field.label|safe }}{% if field.field.required %}<span class="asteriskField">*</span>{% endif %}
</th>
{% endif %}
{% endfor %}
</tr>
{% endif %}
</thead>
<tbody>
{% for form in formset %}
{% if form_show_errors and not form.is_extra %}
{% include "bootstrap4/errors.html" %}
{% endif %}
<tr>
{% for field in form %}
{% include 'bootstrap4/field.html' with tag="td" form_show_labels=False %}
{% endfor %}
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% include "bootstrap4/inputs.html" %}
{% if formset_tag %}</form>{% endif %}
{% endspecialspaceless %}
{%load crispy_forms_tags%}
{load crispy_forms_utils%}
{%load crispy_forms_field%}
{%specialspaceless%}
{%if formset_tag%}
{%endif%}
{%if formset_method | lower=='post'且不禁用_csrf%}
{%csrf_令牌%}
{%endif%}
{{formset.management{u form|crispy}}
{%如果formset.readonly而不是formset.queryset.exists%}
{%else%}
{formset.forms.0%}
{%if field.label而非field | is_复选框而非field.is_hidden%}
{field.label | safe}{%if-field.field.required%}*{%endif%}
{%endif%}
{%endfor%}
{%endif%}
{formset%中表单的%s}
{%if form_show_errors而非form.is_extra%}
{%include“bootstrap4/errors.html”%}
{%endif%}
{%形式的字段为%}
{%include'bootstrap4/field.html'和tag=“td”form\u show\u labels=False%}
{%endfor%}
{%endfor%}
{%include“bootstrap4/inputs.html”%}
{%if formset_tag%}{%endif%}
{%endspecialspaceless%}