我正在学习Django教程。在其官方文档中,提供了一个示例如下代码:
class Task(models.Model):
...
class Meta:
permissions = (
("view_task", "Can see available tasks"),
("change_task_status", "Can change the status of tasks"),
("close_task", "Can remove a task by setting its status as closed"),
)
通过执行此操作,将创建与任务模型关联的三种不同类型的自定义权限。如果用户想要获得访问此模型的任何权限,那么用户如何获得访问任务模型的权限?我是否需要将这三个权限纳入用户模型?
答案 0 :(得分:1)
custom permissions的django文档对此进行了解释。
您的代码负责检查这些权限的值 用户正试图访问该提供的功能 应用程序(查看任务,更改任务状态,关闭 继续上面的例子,下面检查一个用户 可以查看任务:
user.has_perm('app.view_task')
如何授予这些权限或如何检查这些权限完全取决于您。例如,您可以通过收听信号选择在注册时将这些权限设为签名。或者您可以登录管理区域并手动分配权限,也可以使用小脚本将权限分配给许多用户等等。