2024-06-16 14:01:09 发布
网友
我正在尝试在我的Django应用程序中设置权限修饰符。文档中提到了它,我找不到解释这个codename代表什么的(一个模型字段?模型方法?权限方法?)。在
codename
什么是代号?在哪里可以设置代号?在
https://docs.djangoproject.com/en/1.9/topics/auth/default/#the-permission-required-decorator
您可以向Meta类下的任何模型添加自定义权限。这些权限名称为codename。它是这样的:
Meta
class Dish(models.Model): name = models.CharField() class Meta: permissions = ( ('can_approve_dish', "Can approve Dish publication"), ('can_delete_dish', "Can Delete Dish") )
这里,can_approve_dish是一个代号。现在,要对Dish执行任何操作,您可以像这样检查权限:
can_approve_dish
这些权限将在管理站点上提供,以便在迁移后分配给用户。所以,如果你没有给一个用户分配can_delete_dish权限,他将无法删除该盘。在
can_delete_dish
如果您在名为-app的应用程序下为多个模型添加了不同的权限,那么所有这些权限都将以app的名称出现。这意味着,你必须在同一个应用程序中拥有不同型号的唯一代号。在
app
您可以向
Meta
类下的任何模型添加自定义权限。这些权限名称为codename
。它是这样的:这里,
^{pr2}$can_approve_dish
是一个代号。现在,要对Dish执行任何操作,您可以像这样检查权限:这些权限将在管理站点上提供,以便在迁移后分配给用户。所以,如果你没有给一个用户分配
can_delete_dish
权限,他将无法删除该盘。在如果您在名为-
app
的应用程序下为多个模型添加了不同的权限,那么所有这些权限都将以app
的名称出现。这意味着,你必须在同一个应用程序中拥有不同型号的唯一代号。在相关问题 更多 >
编程相关推荐