订单支付和评论——基于Django框架的天天生鲜电商网站项目系列博客(十五)

系列文章目录

  1. 需求分析——基于Django框架的天天生鲜电商网站项目系列博客(一)
  2. 网站框架搭建——基于Django框架的天天生鲜电商网站项目系列博客(二)
  3. 用户注册模块——基于Django框架的天天生鲜电商网站项目系列博客(三)
  4. 用户登录模块——基于Django框架的天天生鲜电商网站项目系列博客(四)
  5. 用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  6. 分布式FastDFS文件系统——基于Django框架的天天生鲜电商网站项目系列博客(六)
  7. 首页——基于Django框架的天天生鲜电商网站项目系列博客(七)
  8. 详情页——基于Django框架的天天生鲜电商网站项目系列博客(八)
  9. 列表页——基于Django框架的天天生鲜电商网站项目系列博客(九)
  10. 商品搜索——基于Django框架的天天生鲜电商网站项目系列博客(十)
  11. 购物车记录添加——基于Django框架的天天生鲜电商网站项目系列博客(十一)
  12. 购物车记录更新——基于Django框架的天天生鲜电商网站项目系列博客(十二)
  13. 订单生成——基于Django框架的天天生鲜电商网站项目系列博客(十三)
  14. 订单并发处理——基于Django框架的天天生鲜电商网站项目系列博客(十四)
  15. 订单支付和评论——基于Django框架的天天生鲜电商网站项目系列博客(十五)
  16. 网站部署——基于Django框架的天天生鲜电商网站项目系列博客(十六)
  17. 项目总结——基于Django框架的天天生鲜电商网站项目系列博客(十七)

项目资源下载

  1. 天天生鲜电商网站项目源码Github地址(可Fork可Clone)
  2. 天天生鲜电商网站项目源码Gitee地址(可Fork可Clone)
  3. 天天生鲜电商网站项目源码压缩包下载(直接使用)
  4. 天天生鲜电商网站项目所需全部工具合集打包下载(nginx、libfastcommon、fastdfs-nginx、fastdfs)
  5. 天天生鲜电商网站项目MySql数据库文件(直接导入MySql数据库)
  6. Django1.8官方文档(中文版)


前言

  今天将会是最后一篇长且难得模块功能的实现,也就是网站商品订单支付和评论功能模块得实现。其中包括订单页面的编写以及对接支付宝支付及其整个流程还有其功能的实现,内容很多,话不多说,马上开始今天的学习!


一、用户中心订单页面

  1. 首先在购物车支付界面的html中的Js代码加上如下:
    在这里插入图片描述
  2. 因为这是点击之后自动跳转到用户订单界面,所以要配置路由
    在这里插入图片描述
  3. 然后编写对应的视图函数
    ①:首先获取用户的订单信息
    在这里插入图片描述
    ②:然后遍历获取订单商品的信息
    在这里插入图片描述
    ③:然后分页
    在这里插入图片描述
    ④:然后组织上下文
    在这里插入图片描述
    ⑤:最后使用模板,传入参数
    在这里插入图片描述
  4. 然后编写我们的html模板
    ①:在这里首先修改base.html和base_user_center.html模板
    在这里插入图片描述
    在这里插入图片描述
    ②:然后用user_center_order.html接收数据并显示数据
    在这里插入图片描述
  5. 效果展示
    在这里插入图片描述

二、网站对接支付宝流程图

在这里插入图片描述

三、网站对接支付宝支付

  1. 由于我们是个人项目,所以我们只能用开发服务中的沙箱测试我们支付的业务
    在这里插入图片描述
  2. 由于我们是电脑网站支付,所以可以参考官方给的文档
  3. 电脑网站支付快速接入步骤
  4. 图示Django网站对接支付宝平台
    在这里插入图片描述
  5. 开始配置公钥和私钥
    ①:进入沙箱环境
    在这里插入图片描述
    ②:然后下载密钥生成器并安装
    在这里插入图片描述
    在这里插入图片描述
    ③:点击生成密钥
    在这里插入图片描述
    ④:生成公钥和私钥
    在这里插入图片描述
    ⑤:应用公钥
    在这里插入图片描述
    ⑥:生成应用公钥和支付宝公钥,并保存
    在这里插入图片描述
    在这里插入图片描述

四、订单支付功能模块

  1. 安装python-alipay-sdk
pip install python-alipay-sdk --upgrade
# 对于 python2,请安装 2.0 以下版本: pip install python-alipay-sdk==1.1
  1. 生成密钥文件(使用OpenSSL软件,需要下载)
openssl
OpenSSL> genrsa -out app_private_key.pem   2048  # 私钥
OpenSSL> rsa -in app_private_key.pem -pubout -out app_public_key.pem # 导出公钥
OpenSSL> exit
  1. 在支付宝上下载的公钥是一个字符串,你需要在文本的首尾添加标记位
-----BEGIN PUBLIC KEY----- 和 -----END PUBLIC KEY-----
  1. 这样才能正常使用,证书的格式如下所示:
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAptkXVjUkA21vOW+h7FrW
68sooGwRqZCT3c8zcP7WLwwvKzwpiU5l+oX7yMoEes9qa7TCZd6YySxoYAdi1u9R
6Bi5YOeWCKGfh5ijbaWU9vH5k/qgWzCkWMSu0ZDyV0rMnQHigrnlEWGNOdMxglTJ
EeuiIGLi7i/3loFUjwCfXq8bkEcylTMMGiXGh88qevG0SbVA8RBNO37tHsRtSD/M
U1hIcjTDMH5+yiLGKVx1OjdOlX0nrjTivM0i9uQn0NZaBBVT7SVT/CykmpSLxX5P
tTJ+I56uRUpeQyRd+vaeTdqrmTFmpG3Nd0nUJV0wWespzOBgg+fYG9Sd7yoEb8g2
JwIDAQAB
-----END PUBLIC KEY-----
  1. 然后保存下来
    在这里插入图片描述
  2. 应用公钥
    在这里插入图片描述
  3. 保存支付宝公钥
    在这里插入图片描述
  4. 拷贝私钥
    在这里插入图片描述
  5. 支付后台视图
    ①:编写订单支付函数
    在这里插入图片描述
    ②:检验用户是否登录
    在这里插入图片描述
    ③:接收参数
    在这里插入图片描述
    ④:校验参数
    在这里插入图片描述
    ⑤:初始化
    在这里插入图片描述
    ⑥:调用支付接口
    在这里插入图片描述
    ⑦:返回应答
    在这里插入图片描述
  6. 配置url
    在这里插入图片描述
  7. 编写前端Js代码获取订单id,传递参数,访问相应地址
    在这里插入图片描述
  8. 效果展示
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

五、获取支付结果

  1. 编写Js代码,在跳转到支付成功界面后自动跳转到用户个人中心界面
    在这里插入图片描述
  2. 配置url
    在这里插入图片描述
  3. 编写相应的视图函数,查看订单支付的结果
    ①:首先定义函数
    在这里插入图片描述
    ②:判断用户是否登录
    在这里插入图片描述
    ③:接收参数
    在这里插入图片描述
    ④:校验参数
    在这里插入图片描述
    ⑤:业务处理:使用python sdk调用支付宝的支付接口
    在这里插入图片描述
    ⑥:调用支付宝的交易查询接口,并返回相应数据
    在这里插入图片描述
  4. 根据接收到的数据,在Js代码中判断是否支付成功,如果支付成功,自动刷新用户个人中心页面,显示支付成功,商品列表显示待评价
    在这里插入图片描述
  5. 效果展示
    在这里插入图片描述

六、订单评论功能实现

  1. 首先在用户个人中心支付成功的页面引导用户去评论,设置跳转href,将用户的已付款的商品id传入
    在这里插入图片描述
  2. 配置相应的url
    在这里插入图片描述
  3. 编写相应的视图函数
    在这里插入图片描述
  4. 首先我们点击去评论是一个get请求,带着用户的已付款的商品id去访问comment界面,是一个get请求
    在这里插入图片描述
  5. 然后我们需要在这个函数中完成订单的点击评论功能
    ①:首先获取用户,然后校验参数
    在这里插入图片描述
    ②:然后获取订单商品的信息
    在这里插入图片描述
    ③:最后使用模板,将商品信息传递到评论html界面,显示信息
    在这里插入图片描述
    ④:在对应的评论界面接收信息,展示信息
    在这里插入图片描述
    ⑤:效果展示
    在这里插入图片描述
  6. 当我们发起评论的时候,是一个post请求,我们还是先获取用户,然后校验参数
    在这里插入图片描述
  7. 然后我们接下来在这个函数里面完成评论功能
    ①:首先获取评论条数
    在这里插入图片描述
    ②:然后获取评论信息
    在这里插入图片描述
    ③:成功之后传递相应的参数
    在这里插入图片描述
  8. 最后修改商品详情页html,首先给商品信息和评论增加标签,并且接受数据
    在这里插入图片描述
  9. 然后编写相应的Js代码,分别点击显示商品详情和评论
    在这里插入图片描述
  10. 效果展示
    在这里插入图片描述

总结

  这篇博文有点长,但也是这个系列最后一篇技术向了,后面两篇就比较简单了,包括网站的部署以及项目总结,其中网站的部署我个人认为如果没有这个需求或者没有服务器的就不需要了,否则需要用虚拟机。但是如果有服务器的或者自己愿意鼓捣的可以参考我的其他博客,也可以部署,并且可以实现外网访问(下期博客会给链接),精彩内容就等下期博客揭晓吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IronmanJay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值