美文网首页
Vue+Django REST framework 打造生鲜项目

Vue+Django REST framework 打造生鲜项目

作者: dc630f46ee2d | 来源:发表于2017-12-14 14:51 被阅读0次

前言

对应教程3-2

创建app包

分为四个功能对应四个包 users , trade, user_operation, goods.
users 是个人信息相关,trade是购物车订单相关,user_operation记录了用户的操作,goods提供了首页,列表页面,详情页的展示。
创建app包不用回到终端。操作如下


屏幕快照 2017-12-03 下午8.00.31.png
  1. 点击Run manage.py Task..
  2. 在底部进入类似终端的输入界面,依次输入startapp 包名,回车
  3. 将创建的包拖入到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没有什么关联关系。验证码只需要验证手机号就可以了。不需要和用户有什么关联。

总结流程与相关基础知识回顾

遇到的问题

相关文章

网友评论

      本文标题:Vue+Django REST framework 打造生鲜项目

      本文链接:https://www.haomeiwen.com/subject/qerabxtx.html