Django-修改InlineFormset删除按钮



我为inlineFormset做一个自定义UI/UX。

默认情况下,InlineFormset小部件具有删除按钮。

i WAN使用JavaScript从InlineFormset Dynamic中添加和删除表单。在某些情况下,删除只是一个按钮,而不是复选框,在其他情况下是在模式窗口中。

用户单击使用JavaScript从页面中删除表单。

所以,我尝试在不使用默认小部件的情况下执行此操作,在模板中渲染字段,但是我不知道如何告诉Django Witch Fields删除,并且是否有必要检查字段的IDS和名称。

我对此问题的解决方案只是覆盖CheckboxInput widget类的template_name:

widgets.CheckboxInput.template_name = 'widgets/delete.html'

我在{app}/widgets.py中添加了托管我的自定义小部件的。当我使用相同格式的应用程序时,我认为这是唯一的方法。

{app}/templates/widgets/delete.html:

<div class="checkbox checkbox-styled">
<label>
    <input name={{ widget.name }} type="checkbox" value="true" {% if widget.attrs.checked == True %}checked{% endif %}>
    <span>Delete</span>
</label>
</div>

如果它不会是 inlineFormSet_factory ,那么最好的方法是创建一个新类扩展baseformset并覆盖 add_fields 答案中建议的方法。

最新更新