【发布时间】:2014-09-04 04:15:51
【问题描述】:
在我的 django 项目中,我需要两种登录方式,一种用于学生登录,一种用于教师登录。
我浏览了 Django 文档和其他互联网资源,并提出了一个简单的设计解决方案,但我不确定利弊,因为我对 Django 还是很陌生。
我想解决这个问题的方法:
1) 对于学生登录,我已成功集成 django-allauth,它运行良好。
2) 现在教师登录,我想建立一个模型如下:
class Teacher(models.Model):
teacher = models.OneToOneField(User,unique=True)
identifier = models.CharField(max_length=128)
#other fields
3) 然后是这个模型的两个表单 - 教师的注册和登录以及电子邮件验证表单:这里我想我会在成功注册时创建教师对象和学生对象,但我会设置 is_active=False 并要求进行电子邮件验证。验证成功后,我会设置is_active=True,这样老师就可以成功登录了。
4) 避免学生登录教师部分,教师可以登录学生部分:这里我考虑了一个标识符字段,以避免经过身份验证的学生登录教师部分。
任何人都可以通过提供您对此解决方案的意见或提出一些更好的选择来帮助我,因为我仍在阅读越来越多的 Django 文档。
提前致谢!
【问题讨论】:
标签: python django django-models django-authentication django-allauth