首页 > 解决方案 > 基于属性的注册表单 - Django

问题描述

我使用具有特定属性的 AbstractBaseUser 扩展了用户模型,以区分帐户类型 - 求职者和雇主。我想为用户提供 2 个单独的注册和登录表格 - 1 个供求职者登录/注册,1 个供雇主登录/注册。我正在努力找出最好的方法来做到这一点。在注册求职者帐户时设置两个表单并将 is_jobseeker 设置为 True 并在注册雇主帐户时将 is_employer 设置为 true 的最佳方法是什么?

如果需要,我已经包含了我的 models.py 以供参考。

模型.py

class User(AbstractBaseUser, PermissionsMixin):
    email           = models.EmailField(_('email address'), unique=True)

    # account types
    is_jobseeker    = models.BooleanField(_('Job Seeker'), default=True)
    is_employer     = models.BooleanField(_('Employer'), default=False)

    is_staff        = models.BooleanField(default=False)
    is_superuser    = models.BooleanField(_('Site Admin'), default=False)

    # account activity
    is_active       = models.BooleanField(_('Active'), default=True)

    # personal fields
    first_name      = models.CharField(max_length=30, blank=True, default='')
    last_name       = models.CharField(max_length=30, blank=True, default='')

    # contact fields
    phone           = models.CharField(max_length=11, blank=True, default='')

    # location fields
    address         = models.CharField(max_length=100, blank=True, default='')
    city            = models.CharField(max_length=100, blank=True, default='')
    state           = models.CharField(max_length=2, blank=True, default='')

    # other fields
    date_joined     = models.DateTimeField(default=timezone.now)

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = []

    objects = UserManager()

    def __str__(self):
        return self.email

提前感谢您的帮助!

标签: pythondjango

解决方案


推荐阅读