(生鲜项目)02. app与model设计

时间:2022-03-23 06:25:09

第一步: 设计app

1. 根据业务需求,设计合适的app板块,这里,我们将拥有goods,trade,user_operation, users四个app

(生鲜项目)02. app与model设计

 

 

 2. 然后去注册app

INSTALLED_APPS = [
    django.contrib.auth,
    django.contrib.contenttypes,
    django.contrib.sessions,
    django.contrib.messages,
    django.contrib.staticfiles,
    apps.users.apps.UsersConfig,
    users,
    goods,
    trade,
    user_operation,
    DjangoUeditor,  # 富文本字段要用的插件,eg,goods_desc字段
    ‘‘,
]

 

第二步: 设计users.models

1. users.models.py

from datetime import datetime  # 用于addtime字段

from django.db import models
from django.contrib.auth.models import AbstractUser


# 用户信息,继承django自带的AbstractUser
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", "男"), ("female", "女")), default="female",
verbose_name="性别")
# 电话不能为空
mobile = models.CharField(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.name


# 手机验证码,可以放在redis内存中,也可以存在数据库中,这里我们存在数据库中
class VerifyCode(models.Model):
code = models.CharField(max_length=10, verbose_name="验证码")
mobile = models.DateField(max_length=11, verbose_name="电话")
# 千万不要写成datetime.now(),否则在编译的时候就添加时间了
add_time = models.DateTimeField(default=datetime.now, verbose_name="添加时间")

class Meta:
verbose_name = "短信验证码"
verbose_name_plural = verbose_name

def __str__(self):
return self.code

2. 千万别忘记这个设置, 有了这个,django才知道你要用自己的user表

settings.py

AUTH_USER_MODEL=‘users.UserProfile‘

 

第三步: 设计goods.models

1. goods.models.py

AUTH_USER_MODEL=‘users.UserProfile‘

4. 会自动生成文件夹 ,node_modules,里面

settings.py

AUTH_USER_MODEL=‘users.UserProfile‘

4. 会自动生成文件夹 ,node_modules,里面

settings.py

AUTH_USER_MODEL=‘users.UserProfile‘

4. 会自动生成文件夹 ,node_modules,里面

settings.py

AUTH_USER_MODEL=‘users.UserProfile‘

4. 会自动生成文件夹 ,node_modules,里面

settings.py

AUTH_USER_MODEL=‘users.UserProfile‘

4. 会自动生成文件夹 ,node_modules,里面

settings.py

AUTH_USER_MODEL=‘users.UserProfile‘

4. 会自动生成文件夹 ,node_modules,里面

settings.py

AUTH_USER_MODEL=‘users.UserProfile‘

4. 会自动生成文件夹 ,node_modules,里面

settings.py

AUTH_USER_MODEL=‘users.UserProfile‘

4. 会自动生成文件夹 ,node_modules,里面

settings.py

AUTH_USER_MODEL=‘users.UserProfile‘

4. 会自动生成文件夹 ,node_modules,里面

settings.py

AUTH_USER_MODEL=‘users.UserProfile‘

4. 会自动生成文件夹 ,node_modules,里面

settings.py

AUTH_USER_MODEL=‘users.UserProfile‘

4. 会自动生成文件夹 ,node_modules,里面

settings.py

AUTH_USER_MODEL=‘users.UserProfile‘

4. 会自动生成文件夹 ,node_modules,里面

settings.py

AUTH_USER_MODEL=‘users.UserProfile‘

4. 会自动生成文件夹 ,node_modules,里面