栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

django创建多个类型用户的最佳方法

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

django创建多个类型用户的最佳方法

Django没有多个用户-它只有一个用户,然后根据权限,用户可以执行不同的操作。

因此,首先-django中只有一种用户类型。如果你使用默认的身份验证框架

User
,则从将此用户的模型称为
django.contrib.auth.models

如果要自定义django中的用户行为,可以执行以下三项操作:

  1. 自定义你如何对它们进行身份验证。默认情况下,身份验证是使用存储密码的数据库完成的。你可以通过facebook / google等进行身份验证,也可以通过现有的用户数据库进行身份验证-例如,如果你使用的是Windows网络,则可以使用ActiveDirectory进行身份验证。

  2. 创建自定义权限,并基于这些权限来限制用户可以执行的功能。默认情况下,在每个模型上-django将添加基本权限“可以编辑”,“可以删除”,“可以读取”。你可以创建自己的,然后检查用户是否具有这些特定权限。

  3. 你可以存储有关用户的其他信息,以及django通常存储的任何信息。有两种方法可以执行此操作,具体取决于你需要多少自定义。如果django默认情况下为你提供了一切,并且你要做的就是存储有关用户的额外信息,则可以扩展用户模型 -在以前的版本中,这称为创建自定义配置文件。如果你想进行更深入的自定义,则还有另一个选择是创建自己的User模型。自定义用户模型的最常见用法是是否要使用电子邮件地址作为用户名。

你不必全部执行这三个操作,实际上有时你要做的只是存储一些额外的信息,或者让他们使用其电子邮件地址进行身份验证。在某些应用程序中,你必须修改所有三个位置。

在你的情况下,由于你要做的只是存储有关用户的额外信息,因此你需要通过创建引用的模型来扩展用户模型User(请注意:你不会继承User):

class Profile(models.Model):    user = models.oneToOneField(User)    department = models.CharField(max_length=200, default='Computer Science')    is_teacher = models.BooleanField(default=False)    is_student = models.BooleanField(default=True)    # .. etc. etc.


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/407813.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号