Django用户认证系统用户对象解析

  


  

  

用户对象是认证系统的核心。用户对象通常用来代表网站的用户,并支持例如访问控制,注册用户,关联创建者和内容等。在Django认证框架中只有一个用户类,例如超级用户(“超级用户”)或(“员工”)用户只不过是相同用户对象设置了不同属性而已。

  


  

  

<强>用户名

  

用户名,必需字段.30个字符或更少,可以包含_,@ +。和——字符。

  

<强> first_name
  

  

可选,30个字符或更少。

  

<强> last_name
  

  

可选,30个字符或更少。

  

<强>邮件
  

  

邮箱,可选,邮件地址。

  

<强>
密码   

  

密码,必需.Django不是以明文存储密码的,而是存储哈希值。

  

<强>组
  

  

用户组.Many-to-many关系组

  

<强> user_permissions
  

  

用户权限.Many-to-many关系许可

        组=模型。ManyToManyField(集团,verbose_name=_(“集团”),   空白=True, help_text=_(该用户所属的组。一个用户将   “把所有权限授予每一个”   “他们的团体。”),   related_name=皍ser_set related_query_name=坝没А?   user_permissions=models.ManyToManyField(许可,   verbose_name=_(“用户权限”),空白=True,   help_text=_(特定权限的用户。),   related_name=皍ser_set related_query_name=坝没А?      

<强> is_staff
  

  

布尔。决定用户是否可以访问管理员管理界面。默认假。

  

<强> is_active
  

  

布尔。用户是否活跃,默认真的。一般不删除用户,而是将用户的is_active设为False。

  

<强> is_superuser
  

  

布尔。默认假。当设为真时,用户获得全部权限。

        def has_perm(自我,烫发,obj=None):   ”“”   返回True,如果用户指定的许可。这个方法   查询所有可用的身份验证后端,但如果任何立即返回   后端返回True。因此,从单个用户许可   身份验证后端一般是认为许可。如果一个对象是   提供权限检查特定的对象。   ”“”      #超级用户活跃的所有权限。   如果自我。is_active self.is_superuser:   还真      否则我们需要检查后端。   返回_user_has_perm(自我,烫发,obj)      叫

<强> last_login

  

上一次的登录时间,为datetime对象,默认为当时的时间。

        用户。last_login=timezone.now ()      

<强> date_joined
  

  

用户创建的时间

  

  

<强> is_anonymous()

  

是否是匿名用户。

  

<强> is_authenticated()
  

  

用户是否通过验证,登陆。

  

<强> get_full_name()
  

  

返回first_name和last_name、之间的空间。

  

<强> get_short_name ()
  

  

返回first_name。

  

<强> set_password (raw_password)
  

  

设置密码。

  

<强> check_password (raw_password)
  

  

验证密码。

  

<强> get_group_permissions (obj=None)
  

  

返回用户组权限的集合。

  

<强> get_all_permissions (obj=None)
  

  

返回用户所有的权限集合。

  

<强> has_perm(烫,obj=None)
  

  

用户是否具有某个权限.perm的格式是“& lt;应用label>灵活;许可codename>”。

  

<强> has_perms (perm_list obj=None)
  

  

用户是否具有权限列表中的每个权限。

  


  

  

由于用户对象的密码不是明文存储的,所以创建用户对象时与通常的模型创建不同,需用内置的create_user()方法。

        在在在从django.contrib.auth。模型导入用户   在在在用户=User.objects。create_user(“约翰”,“lennon@thebeatles.com”、“johnpassword”)      #在这一点上,用户是一个用户对象,已经保存   #数据库。您可以继续改变其属性   #如果你想改变其他领域。   在在在用户。last_name='列侬'   在在在user.save ()      

当然也可以在管理界面中添加用户。

Django用户认证系统用户对象解析