在典型的数据库中,管理员可以分配用户并创建只能由特定用户或组访问的表格。你也可以创建一些查询,这些查询可以由MySQL等数据库中的某些用户创建。Django是否在使用模型的数据库中实现用户权限?
Django的是否提供任何这样的功能,或者仅是它的Django的管理界面,这是否?
据我所知,管理员可以创建用户和与应用模型时为他们提供的权限。
在典型的数据库中,管理员可以分配用户并创建只能由特定用户或组访问的表格。你也可以创建一些查询,这些查询可以由MySQL等数据库中的某些用户创建。Django是否在使用模型的数据库中实现用户权限?
Django的是否提供任何这样的功能,或者仅是它的Django的管理界面,这是否?
据我所知,管理员可以创建用户和与应用模型时为他们提供的权限。
Django的本身并不提供对数据库的访问级别的用户/组/权限,因为它没有一个典型的Web应用程序,所有的连接将使用相同的数据库用户作出多大意义(一在settings.DATABASES
中定义)。请注意,这不是真正的Web应用程序标准的缺点。
什么Django提供是应用程序级的用户/组/权限(CF https://docs.djangoproject.com/en/1.8/topics/auth/)。您可以通过管理员访问此应用程序层,当然也可以通过编程方式通过django.contrib.auth
包。
是的,你可以做到这一点。
Django的模块django.contrib.auth.models
你可以从那里进口的所有车型,如集团,权限和所有定义这些模型。
from django.contrib.auth.models import *
如果要列出所有Django的权威性的模型,你可以看到他们在MySQL /或前缀auth_ *如其他数据库也一样,在mysql中
show tables like "%auth%";
在这些模型中,你可以使用Django ORM 。
@ vaibav - 库马尔我觉得OP是询问有关数据库级用户和权限,而不是应用水平。 –
嘿@brunodesthuilliers,谢谢你的信息。我的后续问题是关于django如何将模型的管理界面中的用户权限转换为数据库级别。我知道它使用对象关系映射将模型转换为数据库中的表。 – susheel
@susheel Django是OSS,所以你可以自己检查'django.contrib.auth'是如何实现的。快速回答:它全部基于用户,组,权限及其之间关系的模型。 –