用户对象是认证系统的核心。用户对象通常用来代表网站的用户,并支持例如访问控制,注册用户,关联创建者和内容等。在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 ()
当然也可以在管理界面中添加用户。