django实战商城项目注册业务实现】的更多相关文章

设计到的前端知识 项目的前端页面使用vue来实现局部刷新,通过数据的双向绑定实现与用户的交互,下面来看一下需求,在用户输入内容后,前端需要做一些简单的规则校验,我们希望在在用户输入后能够实时检测,如果有错误能够在输入框的下方显示出来. <li> <label>用户名:</label> <input type="text" name="username" id="user_name"> <spa…
项目说明 该电商项目类似于京东商城,主要模块有验证.用户.第三方登录.首页广告.商品.购物车.订单.支付以及后台管理系统. 项目开发模式采用前后端不分离的模式,为了提高搜索引擎排名,页面整体刷新采用jinja2模板引擎实现,局部刷新采用vue.js实现. 项目运行机制如下: 项目搭建 工程创建 项目使用码云进行源代码版本控制,在码云创建好后直接克隆到本地即可,然后在项目根目录下执行virtualenv venv创建虚拟环境,source venv/bin/activat激活虚拟环境后,安装dja…
创建用户APP 整个项目会存在多个应用,需要存放在一个单独的文件包了,所以新建一个apps目录,管理所有子应用. 在apps包目录下穿件users应用 python ../../manage.py startapp users 这个时候呢,需要我们将新创建的应用注册到django里,可是这里我们修改了应用的管理目录,与默认的方式不同,如果还按照之前的方式注册APP肯定会报错,这个时候我们可以先查看一下django的导包路径,在dev文件中输入 print(sys.path()) # 输出包的所有…
设计到的前端知识 项目的前端页面使用vue来实现局部刷新,通过数据的双向绑定实现与用户的交互,下面来看一下需求,在用户输入内容后,前端需要做一些简单的规则校验,我们希望在在用户输入后能够实时检测,如果有错误能够在输入框的下方显示出来. <li> <label>用户名:</label> <input type="text" name="username" id="user_name"> <spa…
Django商城项目笔记No.4用户部分-注册接口-短信验证码实现celery异步 接上一篇,如何解决前后端请求跨域问题? 首先想一下,为什么图片验证码请求的也是后端的api.meiduo.site:8000,可是不会造成这样的错误呢? 因为图片验证码的请求其实是由浏览器本身发起的(修改img的src,浏览器发起请求),而点击获取验证码是由我们自己的代码主动发起的请求. 所以图片验证码不会出现跨站请求 我们需要先了解一个事情: 在发起跨站请求的时候,浏览器会发送一个option方式的请求(Htt…
Django商城项目笔记No.4用户部分-注册接口-图片验证码 1.首先分析注册业务接口 1.1.分析可得,至少这么几个接口 图片验证码 短信验证码 用户名是否存在 手机号是否存在 整体注册接口 图片验证码.短信验证码考虑到后续可能会在其他业务中也用到,因此我们将图片验证码独立,创建一个新应用verifications,在此应用中实现图片验证码.短信验证码. python ../../manage.py startapp verifications 创建应用后记得在配置文件里注册应用 2.图片验…
Django商城项目笔记No.9用户部分-注册接口签发JWTtoken 我们在验证完用户的身份后(检验用户名和密码),需要向用户签发JWT,在需要用到用户身份信息的时候,还需核验用户的JWT. 关于签发和核验JWT,我们可以使用Django REST framework JWT扩展来完成. 安装配置 # 安装 pip install djangorestframework-jwt # 配置 REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES':…
Django商城项目笔记No.8用户部分-注册接口实现 users的view.py中增加如下代码 class RegisterUserView(CreateAPIView): """ 用户注册视图 """ serializer_class = serializers.RegisterUserSerializer 在users中创建serializers.py class RegisterUserSerializer(serializers.Mod…
Django商城项目笔记No.7用户部分-注册接口-判断用户名和手机号是否存在 判断用户名是否存在 后端视图代码实现,在users/view.py里编写如下代码 class UsernameCountView(APIView): """ 判断用户名是否存在 """ def get(self, request, username): """ 获取指定用户名数量 :param request: :return: &quo…
Django商城项目笔记No.4用户部分-注册接口-短信验证码 短信验证码也保存在redis里(sms_code_15101234567) 在views中新增SMSCodeView类视图,并且写出步骤如下: 写逻辑 因为这里要用到序列化器,所以就继承了GenericAPIView,这样的话,可以指定serializer_class,然后通过get_serializer就可以实例化序列化器了. 注意: 既然继承了GenericAPIView,那为啥不设置queryset属性,只设置了seriali…