如果您的INSTALLED_APPS中有django.contrib.auth
,django将自动为系统中的每个模型(或以后添加的任何模型)创建添加,更改,删除和查看权限。这些存储在auth_permission中。
在django doc中,我们可以在“网上论坛”部分下阅读以下内容:
django.contrib.auth.models.Group
模型是对用户进行分类的一种通用方法,因此您可以向这些用户应用权限或其他标签。用户可以属于任意数量的组。
组中的用户自动拥有授予该组的权限。例如,如果“站点编辑者”组具有can_edit_home_page权限,则该组中的任何用户都将具有该权限。
我有一个完全没有权限的群组(称为NADA),并且已将该群组分配给特定用户(我们称其为Pierre)。 Pierre仍然可以在我的Web界面上连接和创建,更新,删除或查看任何内容。
如何使它正常工作?网上很少或没有关于本机Django权限的文档。
我认为对任何模型类实施CRUD访问非常简单!
错了吗
我想念什么吗?
注意:使用Python3.6和Django 2.1.3
答案 0 :(得分:1)
Django权限很简单。据我了解您的问题,您正在尝试创建一个没有权限的用户,并且他在Django管理员上不应看到任何条目。
第一件事是确保用户未标记为“超级用户”,无论将用户添加到哪个组,超级用户都可以看到所有内容。
如果他不是超级用户,但仍然能够查看模型,则应确保他不属于多个组。如果一个用户在多个组中,那么所有权限的并集就是对其应用的权限。该链接将为您提供有关用户https://djangobook.com/users-groups-permissions/的不同标志的更多详细信息。让我知道是否有帮助。