美文网首页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