在Django中手动设计处理inlineformset_factory的模板时出现问题

时间:2019-01-18 00:30:54

标签: python html css django

我的inlineformset_factory一直在花哨的工作,直到我决定弄乱布局。

我创建了一个基于图像的表单,该表单可以处理已上传的图像(如果不占用空格,则为默认图像),而不是有些无聊的灰色inp​​ut =“ file”按钮,但出现错误:每当我尝试上载新图像或删除旧图像时,都会出现“ [['ManagementForm数据丢失或已被篡改']]”。篡改HTML导致它以某种方式损坏了。

在我的模板中,我有:

<form method="POST" enctype="multipart/form-data">
{% for item in formset %}
{% csrf_token %}½
<div class="media context">
  <input type="file" id="formolator" accept="image/*" style="visibility:hidden;" />
  <label for="formolator">
    {% if item.extra_img.value != 'media/default.jpg' %}
    <img src="/media/{{ item.extra_img.value }}" class="img-box" />
    delete: {{ item.DELETE }}
    {% else %}
    <img src="/media/default.jpg" class="img-box" />
    {% endif %}
  </label>
</div>
{% endfor %}

<div class="form-group">
  <button class="btn btn-secondary ml-2 mb-2" type="submit">update</button>
</div>
</form>

奖金难题:除此之外,我一直在尝试使显示在模板中的表单(在视图中我已将限制设置为max_num = 9)做一个float:left;。以几种不同的方式。 像我在模板中那样在整个shebang上包装另一个div,在该模板中,由于某些原因,图像在上传到DB时结束时不起作用,并且我在考虑是否与输入类型的性质有关,但我不能说。 出于绝望,我什至尝试将所有内容包装在两个div中,并且对主题进行了不同的排列,可惜没有骰子。

1 个答案:

答案 0 :(得分:0)

我最近遇到了类似的问题。我能够通过在for循环的结束标记后添加以下标记来纠正错误:

{{formset.management_form}},其中“ formset”是表单集的名称。