Django迭代ClearableFileInput小部件字段

时间:2014-08-07 20:50:59

标签: python html django django-templates

目前有一个具有model.FileField()属性的模型,在我的django模板中渲染时,我只是迭代字段,例如

{% for field in form.visible_fields %}
    <div class="form-group">
    {{field.errors}}
    <label for="{{field.auto_id}}">{{field.label}}</label>
    {{field}}
 {% endfor %}

但是,当模板呈现ClearableFileInput窗口小部件时,我想在href和复选框之间添加一些空格以清除窗口小部件。关于如何访问这些特定部分的任何想法&#34;该领域?

1 个答案:

答案 0 :(得分:2)

您必须覆盖默认的ClearableFileInput并根据自己的喜好设置这些渲染属性

class MyClearableInput(ClearableFileInput):
    template_with_initial = '%(initial_text)s: %(initial)s %(clear_template)s<br />%(input_text)s: %(input)s'
    template_with_clear = '%(clear)s <label for="%(clear_checkbox_id)s">%(clear_checkbox_label)s</label>'
    url_markup_template = '<a href="{0}">{1}</a>'

我已经放置了初始属性,但您必须更改它们以反映您想要的输出。它非常不言自明。然后在表单中,使用Meta/widgets属性覆盖小部件以使用此类。