django模板中form.field的自定义过滤器

时间:2016-02-02 10:28:02

标签: django django-models django-forms django-templates django-views

我在ModelForm中有m2m字段,我使用forms.CheckboxSelectMultiple小部件来获取复选框。这是表格

class MyForm(forms.ModelForm):
    class Meta:
        model = MyModel
        fields = ['codes']
        widgets = {
            'codes': forms.CheckboxSelectMultiple,
        }

因为codes字段是m2m字段,所以它包含巨大的复选框列表。我需要根据field.value和一些逻辑对它进行排序,以获得在模板中呈现的类似内容:

<ul>
    <li><input type='checkbox' ... /> value<li>
    <li><input type='checkbox' ... /> value<li>
    <li>
        <ul>
              <li><input type='checkbox' ... /> value<li>
              <li><input type='checkbox' ... /> value<li>
        <ul>
    <li>

那么我如何在自定义过滤器中处理form.field?我希望{{ form.filed|my_custom_filter }}能够获得预期的输出。

@register.filter
def my_custom_filter(form_field):
    # logic to wrap field checkboxes

    return form_field

0 个答案:

没有答案