专业编程基础技术教程

网站首页 > 基础教程 正文

Django开发教程(七) django开发工具

ccvgpt 2024-10-16 08:24:27 基础教程 7 ℃

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

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

Django开发教程(七) django开发工具


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;

}

Tags:

最近发表
标签列表