美文网首页Pythonweb相关
Django相关技术点文档

Django相关技术点文档

作者: 予风 | 来源:发表于2020-06-10 21:00 被阅读0次

Django总结


发送短信:

  • 检查确认图片验证码
  • 检查60s内是否发送过
  • 否生成短信验证码
  • 保存短信验证码以及发送记录到redis中
  • 发送短信

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

流程
  • 用户使用用户名密码来请求服务器
  • 服务器进行验证用户的信息
  • 服务器通过验证发送给用户一个token
  • 客户端存储token,并在每次请求时附送上这个token值
  • 服务端验证token值,并返回数据

支持手机号/用户名登录


定时任务:

  • 安装 django-crontab

  • 添加到应用

  • 设置任务定时时间

    基本格式 :
    分 时 日 月 周      命令
    
    M: 分钟(0-59)。每分钟用*或者 */1表示
    
    H:小时(0-23)。(0表示0点)
    
    D:天(1-31)。
    
    m: 月(1-12)。
    
    d: 一星期内的天(0~6,0为星期天)。
    
  • 开启定时任务

    python manage.py crontab add  #添加任务到系统中
    python manage.py crontab show #显示激活的定时任务
    python manage.py crontab remove #移除定时任务
    

    页面静态化:

    网站的首页会经常被访问,为了提升访问速度可以使用页面静态化。页面静态化即将动态渲染生成的页面结果保存成html文件,放到静态文件服务器中。用户访问的时候访问的直接是处理好之后的html静态文件。


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富文本编辑器:

  • 安装应用
  • 添加到install_app中 一个支持图片上传一个不支持"ckeditor,ckeditor_uploader"
  • 添加设置调整宽高''toolbar ,high,weight''
  • 为模型类添加字段“RichTextField&RichTextUploadingField

热销商品数据:

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


订单结算使用乐观锁:

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

  • 先获取当前下单用户

  • 生成一个订单编号

    • 创建一个保存节点
    • 创建订单信息
    • 获取购物车信息
    • 查询出商品数据
    • 判断订单
    • 判断库存
    • 减少库存
    • 保存订单商品
    • 更新订单的金额数量
  • 提交事务

  • 更新数据库中订单数据


相关文章

网友评论

    本文标题:Django相关技术点文档

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