Django自定义用户认证示例详解
前言
Django附带的认证对于大多数常见情况来说已经足够了,但是如何在Django中使用自定义的数据表进行用户认证,有一种较为笨蛋的办法就是自定义好数据表后,使用OnetoOne来跟Django的表进行关联,类似于这样:
fromdjango.contrib.auth.modelsimportUser classUserProfile(models.Model): """ 用户账号表 """ user=models.OneToOneField(User) name=models.CharField(max_length=32) def__str__(self): returnself.name classMeta: verbose_name_plural=verbose_name="用户账号" ordering=['id']
这样做虽然可以简单、快速的实现,但是有一个问题就是我们在自己的表中创建一个用户就必须再跟admin中的一个用户进行关联,这简直是不可以忍受的。
admin代替默认Usermodel
写我们自定义的models类来创建用户数据表来代替默认的Usermodel,而不与djangoadmin的进行关联,相关的官方文档在这里