基于Django的商城开发项目笔记(七)

二十一、支付宝规则及支付流程

21.1网站与支付宝平台交互的原理:

 

21.2用户、网站、支付宝平台交互实现支付流程:

 

21.3支付宝开放平台的使用:

21.3.1登录:使用已有的支付宝账号即可

                    https://open.alipay.com/platform/home.htm

 

21.3.2使用python工具包:    # 安装python-alipay-sdk

                                             pip install python-alipay-sdk --upgrade

 

21.3.3生成密钥文件:openssl

                                 OpenSSL> genrsa -out app_private_key.pem   2048  # 私钥

                                 OpenSSL> rsa -in app_private_key.pem -pubout -out app_public_key.pem # 导出公钥

                                 OpenSSL> exit

                                 cat app_publict_key.pem 查看公钥的内容

 

21.3.4将生成的本机的公钥保存到支付宝平台中:

 

 

 

21.3.5下载支付宝的公钥文件:

将公钥的内容复制保存到一个文本文件中(alipay_pubilc_key.pem),注意需要在文本的首尾添加标记位(-----BEGIN PUBLIC KEY-----和-----END PUBLIC KEY-----)

 

21.3.6将刚刚生成的私钥app_private_key.pem和支付宝公钥alipay_public_key.pem放到我们的项目目录中:

 

21.3.7在orders/urls.py中配置支付宝支付和支付结果查询的url:

 

21.3.8在orders/view.py中编写OrderPayView订单支付类:

    

 

 

21.3.9在orders/view.py中编写CheckPayView查询订单支付结果类:

      

    

21.3.10在templates/user_center_order.html中配置:

 

21.4支付成功后的评论功能:

21.4.1在order/urls.py中配置评论的url:

 

21.4.2在order/view.py中定义CommentView类:

   

     

21.4.3在templates/user_center_order.html中添加判断,当订单状态为待评价跳转到评论页面:

 

21.4.4在templates/order_comment.html中显示信息:

 

二十二、项目部署流程

22.1项目部署流程图:

 

22.2 uwsgi:遵循wsgi协议的web服务器。

 

22.3uwsgi的安装:pip install uwsgi

 

22.4uwsgi的配置:

22.4.1项目部署时,需要把settings.py文件夹下的:

                                DEBUG=FALSE

                                ALLOWED_HOSTS=[‘*’]

 

22.4.2在项目目录下新建一个uwsgi.ini文件:

22.4.3uwsgi的启动和停止:

                                            启动:uwsgi –-ini 配置文件路径 例如:uwsgi –-ini uwsgi.ini

                                            停止:uwsgi --stop uwsgi.pid路径 例如:uwsgi –-stop uwsgi.pid

 

22.5配置nginx来实现调度和转发请求:

22.5.1 nginx 配置转发请求给uwsgi

22.5.1.1修改nginx.conf文件:

                             location / {

                                                        # 包含uwsgi请求的参数

                                                        include uwsgi_params;

                                                        # 转交请求给uwsgi

                                                        #uwsgi_pass 127.0.0.1:8080;

                                                        uwsgi_pass dailyfresh;

                                            }

 

22.5.2nginx配置处理静态文件:

22.5.2.1django settings.py中配置收集静态文件路径:

            STATIC_ROOT=收集的静态文件路径 例如:/var/www/dailyfresh/static;

            django 收集静态文件的命令:

                        python manage.py collectstatic

            执行上面的命令会把项目中所使用的静态文件收集到STATIC_ROOT指定的目录下。

 

22.5.2.2修改nginx.conf配置文件:

                            location /static {

                                                        # 指定静态文件存放的目录

                                                        alias /var/www/dailyfresh/static/;    

                             }

 

22.5.3 nginx配置upstream实现负载均衡:

                             upstream dailyfresh {

                                                        server 127.0.0.1:8080;

                                                        server 127.0.0.1:8081;

                              }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小陈工

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

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

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

打赏作者

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

抵扣说明:

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

余额充值