将自定义值传递给表单字段

时间:2013-02-21 12:04:40

标签: django django-forms

我有一个Post表单,我想在模板层渲染一些自定义值。我的帖子形式是这样的:

class PageForm(forms.ModelForm):
    language = ...
    translation_of = ...

    def __init__(self, *args, **kwargs):
        super(PageForm, self).__init__(*args, **kwargs)
        self.fields['language'].wrapper_attrs = {'class': 'left'}
        self.fields['translation_of'].wrapper_attrs = {'class': 'right'}

我的模板是这样的:

{% for field in form %}
    >> {{ field.wrapper_attrs }}
{% endfor %}

当我渲染该模板时,期望看到一个dict对象或类似的东西。但一无所获。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

在表单实例化后,其__getitem__()__iter__()会返回BoundField而不是原始的Field实例。 BoundField"A Field plus data"进行渲染,因此您可以尝试{{ field.field.wrapper_attrs }}