前言
Django附帶的認證對于大多數常見情況來說已經足夠了,但是如何在 Django 中使用自定義的數據表進行用戶認證,有一種較為笨蛋的辦法就是自定義好數據表后,使用OnetoOne來跟 Django 的表進行關聯,類似于這樣:
from django.contrib.auth.models import Userclass 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 中的一個用戶進行關聯,這簡直是不可以忍受的。
admin代替默認User model
寫我們自定義的 models 類來創建用戶數據表來代替默認的User model,而不與django admin的進行關聯,相關的官方文檔在這里
新聞熱點
疑難解答