我需要对object_list视图中的某些实例进行快速更改,我选择使用object_list中每个对象的表单进行某种程度的渐进式增强,最终看起来像这样:
<ul>
{% for column in columns %}
<li class="{% if not column.is_available %}disabled{% endif %}">
<h3>{{column.pk}}. <a href="/column/{{column.pk}}">{{column.name}}</a></h3>
<a href="/column/{{column.pk}}">Registros con esta columna</a>
<form action="/column/{{column.pk}}" method="post" class="column_form">
{% csrf_token %}
<input type="hidden" name="object_id" value="{{column.pk}}"/>
<input type="hidden" name="name" value="{{column.name}}"/>
<input type="hidden" name="label" value="{{column.label}}"/>
...
{{ column_form.data_type }}
<label>geográfico</label><input type="checkbox" name="has_geodata" {% if column.has_geodata %}checked{% endif %}/>
<label>disponible</label><input type="checkbox" name="is_available" {% if column.is_available %}checked{% endif %}/>
{% if columns.has_geodata %}
{{columns_form.geodata_type}}
{% endif %}
</form>
</li>
{% endfor %}
</ul>
问题在于我没有一种简单的方法将对象的实例传递给模板的for
循环中的表单类,因此它具有每个字段的正确值。
有没有正确的方法来处理这种情况?
我应该以某种内联形式制作吗?
答案 0 :(得分:0)
您可以创建一个模板标记,该标记接收您的对象实例,然后将表单添加到上下文中,或者将表单呈现到位。