如何创建多用户帐户

How to create Multi User Account

我真的需要你们帮助如何使用 Django 创建多用户帐户。 例如学生、讲师和部门登录页面(管理员)。 在这个系统中,部门将由 Admin 注册讲师,以便获得访问权限以及学生自行注册的原因。

我正在设计一个名为在线作业提交系统的项目 (这是我最后一年的项目)。我真的需要你们帮助我如何使用 Django 来解决这个问题。

Django中有多种处理用户模型的选项:

  1. 如果用户是学生、教师等,您可以子类化 AbstractUserAbstractBaseUser 并添加一个选择字段
  2. 从相关的 'Profile' 模型返回链接。如果您希望不同类型的用户具有不同的字段,这会派上用场。

models.py:

from django.conf import settings
from django.db import models


class StudentProfile(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL)
    subjects = models.ManyToManyField(Subject)
    has_returned_books = models.BooleanField(default=False)


class TeacherProfile(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL)
    salary = models.IntegerField()
    hours_per_week = models.IntegerField()

# ... other profiles for department, etc.

使用这种方法,您可以使用 ORM 查询字段: user.teacherprofile.salaryuser.studentprofile.subjects.

实现模型后,您应该在装饰器或混合器的帮助下阅读 permission system in Django. You can limit access to logged-in users

做一些更多的研究,然后回来用你最近工作的例子提出具体问题。你在问题上投入的工作越多,就会有越多的人帮助你。祝你好运!