users应用下编辑models,包括用户信息和验证码
创建UserPrafile和VerifyCode
在users-->models.py下新增UserPrafile和VerifyCode
from django.contrib.auth.models import AbstractUser from django.utils import timezone from django.db import models class UserPrafile(AbstractUser): """ 用户 """ nickname = models.CharField(max_length=20, null=True, blank=True, verbose_name='昵称') mobile = models.CharField(max_length=11, null=True, blank=True, verbose_name='手机') introduction = models.TextField(blank=True, null=True, verbose_name='简介', default='该用户很懒,啥也没写...') avatar = models.ImageField(upload_to='users/avatars/', null=True, blank=True, verbose_name='头像', default='') address = models.CharField(max_length=100, null=True, blank=True, verbose_name='用户住址', default='') birthday = models.DateField(verbose_name='生日', blank=True, null=True, default=timezone.now) # 后台展示的标题 class Meta: verbose_name = '用户' verbose_name_plural = verbose_name # 后台标题下的内容展示 def __str__(self): return self.username def get_profile_name(self): if self.nickname: return self.nickname class VerifyCode(models.Model): """ 短信验证码 """ code = models.CharField(max_length=10, verbose_name='验证码') mobile = models.CharField(max_length=11, verbose_name='电话') add_time = models.DateTimeField(default=timezone.now, verbose_name='添加时间') class Meta: verbose_name = '短信验证码' verbose_name_plural = verbose_name def __str__(self): return self.code
修改settings.py
模型创建好后需要在settings.py做相应配置
# 自定义的user模型,若不设置会使用默认的user模型 AUTH_USER_MODEL = 'users.UserProfile' # INSTALLED_APPS里添加apps.users INSTALLED_APPS = [ ..., ..., 'apps.users', ]
知识点
null和blank的区别
-
null=True ---针对数据库而言可以填写为空
-
blank=True ---针对表单而言可以填写为空
Meta和__str__用处
-
Meta ---表示后台展示标题
-
str ---表示标题内的展示内容
版权声明:如无特殊说明,文章均为本站原创,转载请注明出处
本文链接:http://example.com/article/django-user/