在上一次创建布局对象之后,表单上有crispy表单.wrap或.update_attributes

时间:2015-09-03 11:19:44

标签: permissions django-crispy-forms

我有这种情况,我想为UpdateView布局一个特定的用户表单,之后想要检查字段是否只需要readonly,具体取决于提供的参数。但是我得到一个“KeyError”异常,其中包含exeption值“u'wrapper_class'”。

我的users.views.py中的示例

form_helper.layout = Layout(
        Fieldset(
            _('Personal information'),
            'username',
            'first_name',
            'last_name',
            'email',
            Field('password', type='hidden')
        ),
        HTML('<br/>'),
        Fieldset(
            _('Permissions'),
            'groups',
            Field('user_permissions', size=20)
        ),
        Field('date_joined', type='hidden'),
        'is_active'
    )

form_helper[:].wrap(Field, readonly=has_no_change_permission)

其中has_no_change_permission的计算结果为True或False。 这最后一行不起作用,我得到上面提到的错误。

为什么呢?这个错误并没有告诉我多少。执行地点是: [...] / lib / python2.7 / site-packages / django / template / context.py in delitem ,第75行

顺便说一下:

form.helper[:].update_attributes(readonly=True)

似乎根本不起作用,我没有效果(也没有错误信息)。我错过了什么?

1 个答案:

答案 0 :(得分:0)

这是Crispy Forms中的一个错误。它已在v1.5.2中修复