Pythonweb相关

Django相关技术点文档

2020-06-10  本文已影响0人  予风

Django总结


发送短信:


celery发送短信:

celery:异步任务队列:有broker(任务对列)&worker(任务处理者)组成 。

​ 1. django将要执行的任务定义成一个函数

  1. 通过调用func.delay()方法会将任务通过redis,或者rabbit传递到任务队列中去

  2. worker会循环从任务队列获取任务

  3. worker从broker中获取到任务,会使用多进程去执行任务

  4. worker执行完成可以将执行结果存储到backends

  5. django(客户端)会从backends中获执行取结果


图片验证码:

后端通过uuid生成一个唯一的图片验证码

把生成的图片验证码保存到redis中,同时设置过期时间

保存发送记录到redis中

当用户输入图片验证码时候会判断与数据库中储存的是否一致

不一致,返回错误

相等验证通过进入执行下咦步


JWT:

构成
  1. 头部header

  2. 载荷 playhord

  3. 密钥 serect key

流程

支持手机号/用户名登录


定时任务:

elasticsearch+haystack+docke实现搜索功能:

​ 通过docker安装elasticsearchik搜索引擎,然后安装django插件haystack对接esc,然后生成索引,当用户查询时候elastic会通过haystack获取数据返回。


用户浏览历史排序:

前端返回用户浏览的商品id,然后解析登录的token获取对应的用户然后通过查询商品id获取对应商品,删除rdis中已经存在的然后把用户浏览历史记录选取指定数量保存到redis当中。然后返回数据给前端展示。


商品列表分页排序:

drf后端提供的有分页支持,在配置文件中配置对pagination进行配置也可以继承rest提供的pagination父类重新定义子类修改部分参数page_size ,"page_size_quary_parm" ,通过过滤器实现排序展示


fastdfs存储文件:

tracker调度执行器,客户端向tracker发起上传请求,tracker向storage存储服务器查询是否已经存储,未存储过,会保存。然后返回数据id给客户端


ckeditor富文本编辑器:


热销商品数据:

从数据库查询出当前类别商品,然后根据当前类别商品的销量进行排序。然后把结果返回给前端进行展示。


订单结算使用乐观锁:

乐观锁:数据更新前会先查询,如果数据和更新前数据一致就会执行更新,如果查询到的数据和之前查询不一致,就不会执行更新。

上一篇下一篇

猜你喜欢

热点阅读