- Vue+Django REST framework 打造生鲜项目
- 【Vue+DRF生鲜电商】26.使用Pycharm远程代码调试服
- 【Vue+DRF生鲜电商】28.支付宝支付接口类解读,支付逻辑编
- 【Vue+DRF生鲜电商】29.线上服务支付宝接口和Vue联调,
- 【Vue+DRF生鲜电商】27.支付宝公钥,私钥,沙箱环境配置
- 【Vue+DRF生鲜电商】33.数据缓存、接口访问限速功能
- 【Vue+DRF生鲜电商】32.商品操作后计数更改,热搜榜关键字
- 【Vue+DRF生鲜电商】30.首页轮播图、新品展示功能
- 【Vue+DRF生鲜电商】31.首页商品按分类显示推荐功能
- 【Vue+DRF生鲜电商】25.商品添加购物车接口功能,Vue和
前言
对应教程3-2
创建app包
分为四个功能对应四个包 users , trade, user_operation, goods.
users 是个人信息相关,trade是购物车订单相关,user_operation记录了用户的操作,goods提供了首页,列表页面,详情页的展示。
创建app包不用回到终端。操作如下

- 点击Run manage.py Task..
- 在底部进入类似终端的输入界面,依次输入startapp 包名,回车
- 将创建的包拖入到apps下成为子package
设计users model
Users包的model类:UserProfile VerifyCode
按照惯例,我们会在users的model包中自定义一个类保存用户信息,譬如UserProfile
它继承Django类的AbstractUser类,然后在setting包中指定该类为用户信息类
AUTH_USER_MODEL = 'users.UserProfile'
app名.类名,然后实现UserProfile
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", u"女")), 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.username
实际上,AbstractUser已经有了username,password等字段,我们现在只需要扩展更多的字段就可以了。class Meta是内部类,Meta的概念属于django,关于Meta的所有字段,verbose_name会决定在django后台显示的名字,最后是_str_(self): ,调用printf
会调用_str_方法
我们要使用验证码来完成登录流程
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="添加时间")
class Meta:
verbose_name = "短信验证码'"
verbose_name_plural = verbose_name
def __str__(self):
return self.code
注意验证码和UserPorfile没有什么关联关系。验证码只需要验证手机号就可以了。不需要和用户有什么关联。
网友评论