Python项目实战——手把手教你使用Django框架实现支付宝付款

Stella981
• 阅读 662

点击上方“Python爬虫与数据挖掘”,进行关注

回复“书籍”即可获赠Python从入门到进阶共10本电子书

近乡情更怯,不敢问来人。

一、前言

大家好,我是Python进阶者。春节即将过去,大家过年期间肯定各种掏腰包花花花,小编相信大家在支付时候,微信、支付宝支付肯定是优先选择。今天小编心血来潮,为大家带来一个很有趣的项目,那就是使用Python web框架Django来实现支付宝支付,废话不多说,一起来看看如何实现吧。

二、建立django应用

我们来建立一个Django项目然后在里面创建一个应用,如图:

Python项目实战——手把手教你使用Django框架实现支付宝付款

三、配置并启动

Python项目实战——手把手教你使用Django框架实现支付宝付款

Python项目实战——手把手教你使用Django框架实现支付宝付款

然后我们设置urls文件的内容,如图:

Python项目实战——手把手教你使用Django框架实现支付宝付款

然后再在子应用中创建一个urls.py文件,当然你也可以直接将一些视图函数写在项目中的urls.py文件中。最后我们编写视图函数并把视图函数添加到urls.py文件中,如图:

Python项目实战——手把手教你使用Django框架实现支付宝付款

Python项目实战——手把手教你使用Django框架实现支付宝付款

最后我们需要提交更改,打开该项目manage.py文件所在的目录并打开cmd,输入如下命令:

python manage.py migrate

现在让我们来本地跑跑这个项目,还是在该目录中,如下:

python manage.py runserver

Python项目实战——手把手教你使用Django框架实现支付宝付款

看到输出的结果表明这个子应用已经启动并返回了结果。我们也可以不用经过子应用直接在创建的项目根目录下运行启动Django应用,首先在pay目录下新建一个view.py文件,然后将其添加到该目录下的urls.py文件中,如下:

Python项目实战——手把手教你使用Django框架实现支付宝付款

Python项目实战——手把手教你使用Django框架实现支付宝付款

运行下看图:

Python项目实战——手把手教你使用Django框架实现支付宝付款

四、登录支付宝并生成rsa密钥

首先登录咱们要收款的支付宝,地址:

https://auth.alipay.com/login/ant_sso_index.htm?goto=https%3A%2F%2Fopenhome.alipay.com%2Fplatform%2FappDaily.htm%3Ftab%3Dinfo

然后进行登录,如图:

Python项目实战——手把手教你使用Django框架实现支付宝付款

然后点击RSA2(SHA256)后面的设置,点击公钥并下载支付宝密钥生成器或者openssl来生成密钥,这里我选择支付宝密钥生成器,如图:

Python项目实战——手把手教你使用Django框架实现支付宝付款

然后点击它之后跳转到下载界面下载,如图:

Python项目实战——手把手教你使用Django框架实现支付宝付款

下载好后打开该工具,选择好密钥长度和密钥格式并生成密钥,如图:

Python项目实战——手把手教你使用Django框架实现支付宝付款

然后进入公私钥的目录,将这个复制到我们的Django项目的子应用目录中,并重命名,等下用的着,如图:

Python项目实战——手把手教你使用Django框架实现支付宝付款

Python项目实战——手把手教你使用Django框架实现支付宝付款

紧接着我们进入自己的开发者中心控制台,地址:

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

然后我们去创建一个应用,如图:

Python项目实战——手把手教你使用Django框架实现支付宝付款

按照要求如实填写即可。然后我们来设置它的接口加密方式,如图:

Python项目实战——手把手教你使用Django框架实现支付宝付款

Python项目实战——手把手教你使用Django框架实现支付宝付款

验证好了之后填写刚刚生成的应用公钥,如图:

Python项目实战——手把手教你使用Django框架实现支付宝付款

此时会出现应用公钥和支付宝公钥,将支付宝公钥保存起来,如图:

Python项目实战——手把手教你使用Django框架实现支付宝付款

然后我们将产生的额应用公私钥和支付宝公钥保存为下列内容形式的文件,如图:

Python项目实战——手把手教你使用Django框架实现支付宝付款

Python项目实战——手把手教你使用Django框架实现支付宝付款

Python项目实战——手把手教你使用Django框架实现支付宝付款 将这三个文件都保存在rsakey这个文件夹中。现在准备工作都做好了,下面开始编写支付宝支付接口。

注:项目审核通过后才可以使用密钥调用支付宝接口噢!

四、PC端支付宝支付接口

这里我们使用一个类将它封装起来,如下:

from datetime import datetime

为了便于调用,我们将这个Python文件放在子应用的目录中,命名为pay.py。

五、编写前端页面

我们通过前端的商品的名称和价格来生成对应的商品信息并发起付款请求,如下:

index.html(商品主页)

<!DOCTYPE html>

show.html(支付结果显示页)

<!DOCTYPE html>

六、编写视图函数处理渲染

from django.shortcuts import render,redirect

七、添加路由函数到url规则中

from django.urls import path

八、运行项目

所有准备工作都做好了,我们赶紧来试着运行下项目吧,如下:

Python项目实战——手把手教你使用Django框架实现支付宝付款

可以看到我们购买商品后链接成功跳转到支付界面。

九、总结

该支付宝支付环境在沙箱中实现,因此安全性毋庸置疑,代码小编已经打包好了,不过里面的appid还有公私钥需要大家自行填写噢。

最后需要本文项目代码的小伙伴,请在公众号后台回复“支付宝”关键字进行获取,如果在运行过程中有遇到任何问题,请随时留言或者加小编好友,小编看到会帮助大家解决bug噢!

**********---**--****-------------- End **********---**--****--------------

往期精彩文章推荐:

Python项目实战——手把手教你使用Django框架实现支付宝付款

欢迎大家点赞,留言,转发,转载,****感谢大家的相伴与支持

想加入Python学习群请在后台回复【入群

万水千山总是情,点个【在看】行不行

/今日留言主题/

随便说一两句吧~~

本文分享自微信公众号 - Python爬虫与数据挖掘(crawler_python)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Karen110 Karen110
3年前
Python项目实战——手把手教你使用Django框架实现支付宝付款
一、前言大家好,我是Python进阶者。春节即将过去,大家过年期间肯定各种掏腰包花花花,小编相信大家在支付时候,微信、支付宝支付肯定是优先选择。今天小编心血来潮,为大家带来一个很有趣的项目,那就是使用Pythonweb框架Django来实现支付宝支付,废话不多说,一起来看看如何实现吧。二、建立django应用我们来建立一个Django项目然后在里面创建
Stella981 Stella981
3年前
Python web框架FastAPI——一个比Flask和Tornada更高性能的API 框架
点击上方“Python爬虫与数据挖掘”,进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书今日鸡汤借问酒家何处有,牧童遥指杏花村。0前言    前几天给大家分别分享了(入门篇)简析Pythonweb框架FastAPI——一个比Flask和Tornada更高性能的API框
可莉 可莉
3年前
10行Python代码自动清理电脑内重复文件,解放双手!
点击上方“Python爬虫与数据挖掘”,进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书今日鸡汤世间行乐亦如此,古来万事东流水。!(https://oscimg.oschina.net/oscnet/da5385ecbd59492aa127c14a1a5b807c.jpg)(h
Stella981 Stella981
3年前
Python3 网络爬虫:下载小说的正确姿势
点击上方“Python爬虫与数据挖掘”,进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书今日鸡汤少年心事当拂云。!(https://oscimg.oschina.net/oscnet/09902b71501b9e8c3cb656b5dfbbb0552e0.jpg)1
Stella981 Stella981
3年前
Python中的基础数据类型(String,Number)及其常用用法简析
点击上方“Python爬虫与数据挖掘”,进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书今日鸡汤寄意寒星荃不察,我以我血荐轩辕。Python中的基础数据类型前言哈喽,各位小伙伴们,相信大家和我一样,在开始接触Python这门语言的时候,会遇到很多困
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Stella981 Stella981
3年前
Django网站实战——手把手带大家制作一个经典的网站
点击上方“Python爬虫与数据挖掘”,进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书今日鸡汤别梦依依到谢家,小廊回合曲阑斜。一、前言今天小编带大家制作一个经典的网站的案例,功能包括登录、注册、注销、改密、免密登录、忘记密码,那么下面就让我们开始吧。二、创建项目并创建子
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这