Django自定义用户表替换默认用户表认证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django自定义用户表替换默认用户表认证相关的知识,希望对你有一定的参考价值。

1、自定义用户表

from django.db import models
from django.contrib.auth.models import AbstractUser
# Create your models here.

class UserProfile(AbstractUser):   ##引用Django内置的AbstractUser表,并添加下列字段
    nick_name = models.CharField(max_length=50,default="",verbose_name=u"昵称")
    birday = models.DateField(verbose_name=u"生日",null=True,blank=True)
    gender = models.CharField(max_length=10,choices=(("male",u"男"),("female",u"女")),default="female")
    address = models.CharField(max_length=100,default=u"",verbose_name=‘地址‘)
    mobile = models.CharField(max_length=11,null=True,blank=True,verbose_name=‘手机号码‘)
    image = models.ImageField(upload_to="image/%Y/%m",default=u"image/default.png",max_length=100)

    class Meta:
        verbose_name  = u"用户信息"
        verbose_name_plural = verbose_name

    def __unicode__(self):
        return self.username


2、在settings注册APP,并配置用户表model参数AUTH_USER_MODEL

INSTALLED_APPS = [
    ‘django.contrib.admin‘,
    ‘django.contrib.auth‘,
    ‘django.contrib.contenttypes‘,
    ‘django.contrib.sessions‘,
    ‘django.contrib.messages‘,
    ‘django.contrib.staticfiles‘,
    ‘users‘
]

AUTH_USER_MODEL = "users.UserProfile"

 

以上是关于Django自定义用户表替换默认用户表认证的主要内容,如果未能解决你的问题,请参考以下文章

Django自定义Auth模块方式

Django自定义Auth模块方式

django models 自定义用户表替换系统默认表

django 1.5 扩展默认用户模型或替换它

Django用户认证

Django 自定义用户认证