“User models设计”的版本间的差异
来自CloudWiki
第57行: | 第57行: | ||
def __str__(self): | def __str__(self): | ||
return self.code</nowiki> | return self.code</nowiki> | ||
+ | |||
+ | ==模板迁移及写入== | ||
+ | python3 manage.py makemigrations | ||
+ | |||
+ | python3 manage.py sqlmigrate users 0001 | ||
+ | |||
+ | python3 manage.py migrate | ||
+ | |||
==替换系统用户== | ==替换系统用户== |
2020年6月22日 (一) 04:33的版本
项目表的设计
- users
- goods
- trade
- user_operation
[root@localhost mxshop]# python3 manage.py startapp goods
[root@localhost mxshop]# python3 manage.py startapp trade
[root@localhost mxshop]# python3 manage.py startapp user_operation
User models设计
apps/user/models.py:
设计UserProfile表
from datetime import datetime from django.db import models from django.contrib.auth.models import AbstractUser#导入系统用户 # Create your models here. class UserProfile(AbstractUser): """ 用户 """ name = models.CharField(max_length=30, null=True, blank=True, verbose_name="姓名") birthday = models.DateField(null=True, blank=True, verbose_name="出生年月") gender = models.CharField(max_length=6, choices=(("male", u"男"), ("female", "女")), default="female", verbose_name="性别") mobile = models.CharField(null=True, blank=True, max_length=11, verbose_name="电话") email = models.EmailField(max_length=100, null=True, blank=True, verbose_name="邮箱") class Meta: verbose_name = "用户"#设置表的别名 verbose_name_plural = verbose_name def __str__(self): return self.username
设计验证码表
跟刚才同一文件下.
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=datetime.now, verbose_name="添加时间")#这里不能写成datetime.now() class Meta: verbose_name = "短信验证码" verbose_name_plural = verbose_name def __str__(self): return self.code
模板迁移及写入
python3 manage.py makemigrations
python3 manage.py sqlmigrate users 0001
python3 manage.py migrate
替换系统用户
在settings.py中添加:
AUTH_USER_MODEL = 'users.UserProfile'