@login_required()
def to_register(request):
return render_to_response("pay/register_yeepay.html", context_instance=RequestContext(request))
// 意思简单,就不说了。
打开页面需要填写的表单如下:
此页面使用ajax方式提交:
以上数据被传至process_register处理
@csrf_exempt
@login_required()
def process_register(request):
# TODO 参数判断
nick_name = request.POST['nickName']
real_name = request.POST['realName']
id_card_type = request.POST['idCardType']
id_card_no = request.POST['idCardNo']
mobile = request.POST['mobile']
email = request.POST['email']
platform_user_no = UserDetail.objects.get(user=request.user).platform_user_no
/* 由此句推知,paltform_user_no是在注册时候已经生成了,我们看注册函数
* new_user_detail.platform_user_no = random_str(),其中random_str()
*
* 其中random.randint(0,length),在0~length中随机取一个整数,包括length。
*/
# TODO 权限判断
yeepay_account = YeepayAccount.objects.get(platform_user_no=platform_user_no)
yeepay_account.nickname = nick_name
yeepay_account.real_name = real_name
yeepay_account.idcard_type = id_card_type
yeepay_account.idcard_no = id_card_no
yeepay_account.save()
# 构造返回参数
ret_xml, sign, to_url = register(nick_name=nick_name, real_name=real_name, id_card_type=id_card_type,
id_card_no=id_card_no, mobile=mobile, email=email,
platform_user_number=platform_user_no)
/*调用了register函数,该函数如下:
* 其中sign是签名
* to_url是易宝注册地址。
*/
return json_response(True, "0", "success", {"req": ret_xml, 'sign': sign, 'to_url': to_url})
//返回json数据
成功后易宝回返回callback或者notify,根据返回的类型选择合适的函数。
import xml.etree.ElementTree as ET
一个完整的例子就如上。
pay包注释(二)的更多相关文章
-
pay包注释(一)
lovep2c项目pay模块注释: views.py: def create_user_no(email): return md5(email).hexdigest().upper() + &q ...
-
Java学习-039-源码 jar 包的二次开发扩展实例(源码修改)
最近在使用已有的一些 jar 包时,发现有些 jar 包中的一些方法无法满足自己的一些需求,例如返回固定的格式,字符串处理等等,因而需要对原有 jar 文件中对应的 class 文件进行二次开发扩展, ...
-
Android抓包方法(二)之Tcpdump命令+Wireshark
Android抓包方法(二) 之Tcpdump命令+Wireshark 前言 做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等.学会抓包分 ...
-
Laravel5中通过SimpleQrCode扩展包生成二维码实例
Simple Qrcode是基于强大的Bacon/BaconQrCode库开发的针对Laravel框架的封装版本,用于在Laravel中为生成二维码提供接口. 安装SimpleQrCode扩展包 在项 ...
-
.NetCore 下开发独立的(RPL)含有界面的组件包 (二)扩展中间件及服务
.NetCore 下开发独立的(RPL)含有界面的组件包 (一)准备工作 .NetCore 下开发独立的(RPL)含有界面的组件包 (二)扩展中间件及服 务 .NetCore 下开发独立的(RPL)含 ...
-
Eclipse用Runnable JAR file方式打jar包,并用该jar包进行二次开发
目录: 1.eclipse创建Java项目(带jar包的) 2. eclipse用Export的Runnable JAR file方式打jar包(带jar包的) 打jar包 1)class2json1 ...
-
R语言中常用包(二)
数据导入 以下R包主要用于数据导入和保存数据 feather:一种快速,轻量级的文件格式.在R和python上都可使用readr:实现表格数据的快速导入.中文介绍可参考这里readxl:读取Micro ...
-
NET中的规范标准注释(二) -- 创建帮助文档入门篇
一.摘要 在本系列的第一篇文章介绍了.NET中XML注释的用途, 本篇文章将讲解如何使用XML注释生成与MSDN一样的帮助文件.主要介绍NDoc的继承者:SandCastle. 二.背景 要生成帮助文 ...
-
java eclipse war包的二次开发方法
有实际项目在跑的war包,却没有源码,苦于想查看源码,身处运维组为研发组看不起,拿不到源码,只能自己来反编译了. 只要你细心点,其实在解压war包后,可以看到文件夹中,已经存在了jsp文件,但是却没有 ...
随机推荐
-
IIS与ApplicationPool重启检测自动化解决方案
IIS与ApplicationPool重启检测自动化解决方案 Friday, November 28, 2014 DA Hotfix Automatic IIS & Application P ...
-
毕向东Java基础:day09_3-4
day09-03 1.匿名内部类的使用场景. Body{ //身体 包括心脏 private class XinZhang{ // 心脏 可以body的成员变量.如果不想被别人访问,加上priv ...
-
C# 二进制字节流查找函数IndexOf
C# 二进制字节流查找函数IndexOf /// <summary> /// 报告指定的 System.Byte[] 在此实例中的第一个匹配项的索引. /// </summary&g ...
-
在Windows下设置环境变量 运行mysql程序变得更容易
在Windows下设置环境变量,点开始菜单,右键单击我的电脑--属性--高级--环境变量 可以看到PATH的变量是这样的: C:\WINDOWS;C:\WINDOWS\COMMAND 为了让运行m ...
-
利用cookie实现“只弹出一次窗口”的JS代码
弹出式窗口通常被用来做弹出广告(CPM),其实用弹出式窗口用来做消息通知也是最普遍而且是最有效的方法,但如果每次刷新页面特别是刷新首页都要弹出窗口的话,那绝对是让访问者厌烦的事情. 比如你将上面的脚本 ...
-
Java虚拟机结构
一.JVM主要的结构如下: 二.各个区域功能介绍 1).方法区(Method Area): (1)用于存储虚拟机加载的类信息.常量.静态变量等,是各个线程共享的内存区域: ...
-
.NET CORE学习笔记系列(2)——依赖注入[7]: .NET Core DI框架[服务注册]
原文https://www.cnblogs.com/artech/p/net-core-di-07.html 包含服务注册信息的IServiceCollection对象最终被用来创建作为DI容器的IS ...
-
ASP.NET Core学习之五 EntityFrameworkCore
目的:运用EntityFrameworkCore ,使用codefirst开发 一.创建web项目 创建一个不进行身份验证的 ASP.NET Core Web Application (.NET ...
-
js 中 (function($){...})(jQuery) 含义
js中定义函数常用写法是 function name(arg){ //arg则是匿名函数的参数. //... } 调用函数时的写法是: name(arg); ===================== ...
-
编写简单Linux内核模块
模块代码如下 //main.c #include <linux/kernel.h> #include <linux/module.h> #include <linux/i ...