繁体   English   中英

仅渲染Django inline_formset中的字段

[英]Render only fields in a Django inline_formset

我只想呈现Django inline_formset中的字段。

这是我的模板:

<div id="storage">
    <h1>Storage</h1>
    {% for form in storage_formset %}
        <div class="form-group">
            <label class="col-sm-2 control-label">{{ form.help_texts }}</label>
            <div class="col-sm-10">
                {{ form.errors }}
                {{ form }}
            </div>
        </div>
    {% endfor %}
</div>

这是我的表格:

help = {'field1' : "help1", 'field2' : "help2"}

StorageFormSet = inlineformset_factory(WorkOrder, Storage, min_num=0,
max_num=2, validate_min=True, validate_max=True, extra=1, help_texts=help, 
fields=('field1', 'field2'))

这是可行的,但是在渲染时,它将渲染表单中的所有内容(字段和字段名称),我希望它仅渲染字段。 另一件事是help_texts不起作用(我不知道我是否使用正确)。

如果我使用:

{{ form.field1 }}

它呈现了field1,但是我想动态地执行它,所以我不必一次又一次地重复。

如果我使用:

{{ form.fields }}

它呈现了一堆代码

OrderedDict(
[('field1', <django.forms.fields.TypedChoiceField object at 0x7f8f6409c890>), 
('field2', <django.forms.fields.IntegerField object at 0x7f8f6409c650>), 
(u'id', <django.forms.models.ModelChoiceField object at 0x7f8f6409c1d0>), 
(u'DELETE', <django.forms.fields.BooleanField object at 0x7f8f6409cc90>), 
('parent_field', <django.forms.models.InlineForeignKeyField object at 0x7f8f659c4e10>)]) 

我不知道该怎么办

谢谢您的帮助。

我将您的代码修改为仅呈现字段及其关联的帮助文本:

<div id="storage">
    <h1>Storage</h1>
    {% for form in storage_formset %}
        <div class="form-group">
            <label class="col-sm-2 control-label">{{ form.help_texts }}</label>
            <div class="col-sm-10">
                {{ form.errors }}
                {% for field in form %}
                    {{ field }} {{ field.help_text }}
                {% endfor %}
            </div>
        </div>
    {% endfor %}
</div>

有关访问模板中表单字段的更多信息,请访问docs

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM