Django 自定义用户认证
Django附带的认证对于大多数常见情况来说已经足够了,但是如何在 Django 中使用自定义的数据表进行用户认证,有一种较为笨蛋的办法就是自定义好数据表后,使用 OnetoOne
来跟 Django 的表进行关联,类似于这样:
from django.contrib.auth.models import User
class UserProfile(models.Model):
"""
用户账号表
"""
user = models.OneToOneField(User)
name = models.CharField(max_length=32)
def __str__(self):
return self.name
class Meta:
verbose_name_plural = verbose_name = "用户账号"
ordering = [\'id\']
这样做虽然可以简单、快速的实现,但是有一个问题就是我们在自己的表中创建一个用户就必须再跟 admin 中的一个用户进行关联,这简直是不可以忍受的。