根据 Django Crispy Form 中的用户权限隐藏删除按钮

Hide Delete button based on User permission in Django Crispy Form

如何在 Django 脆皮表单中检查用户权限?基本上我想为没有删除权限的用户隐藏删除按钮。

请帮忙。感谢您的宝贵时间。

参见Layout Docs

检查您的用户在视图中的权限并适当配置 Layout

(就是这样)

我可以通过将用户对象传递给模型表单的 init 方法来解决这个问题。

现在看起来像下面这样

    def __init__(self,**user**, *args, **kwargs):
         super(B2BInvoiceForm, self).__init__(*args, **kwargs)
         self.helper = FormHelper()

         ...

         print "Checking Permission :", user.get_all_permissions()

         if **user**.has_perm('can.delete_something') :
             self.helper.add_input(Submit('delete', ' Delete '))

它不仅仅是用户对象,我们可以将任何对象传递给表单并使用它来动态呈现表单。