@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包注释(二)的更多相关文章

  1. pay包注释(一)

    lovep2c项目pay模块注释: views.py: def create_user_no(email):    return md5(email).hexdigest().upper() + &q ...

  2. Java学习-039-源码 jar 包的二次开发扩展实例(源码修改)

    最近在使用已有的一些 jar 包时,发现有些 jar 包中的一些方法无法满足自己的一些需求,例如返回固定的格式,字符串处理等等,因而需要对原有 jar 文件中对应的 class 文件进行二次开发扩展, ...

  3. Android抓包方法(二)之Tcpdump命令+Wireshark

    Android抓包方法(二) 之Tcpdump命令+Wireshark 前言 做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等.学会抓包分 ...

  4. Laravel5中通过SimpleQrCode扩展包生成二维码实例

    Simple Qrcode是基于强大的Bacon/BaconQrCode库开发的针对Laravel框架的封装版本,用于在Laravel中为生成二维码提供接口. 安装SimpleQrCode扩展包 在项 ...

  5. .NetCore 下开发独立的(RPL)含有界面的组件包 (二)扩展中间件及服务

    .NetCore 下开发独立的(RPL)含有界面的组件包 (一)准备工作 .NetCore 下开发独立的(RPL)含有界面的组件包 (二)扩展中间件及服 务 .NetCore 下开发独立的(RPL)含 ...

  6. Eclipse用Runnable JAR file方式打jar包,并用该jar包进行二次开发

    目录: 1.eclipse创建Java项目(带jar包的) 2. eclipse用Export的Runnable JAR file方式打jar包(带jar包的) 打jar包 1)class2json1 ...

  7. R语言中常用包(二)

    数据导入 以下R包主要用于数据导入和保存数据 feather:一种快速,轻量级的文件格式.在R和python上都可使用readr:实现表格数据的快速导入.中文介绍可参考这里readxl:读取Micro ...

  8. NET中的规范标准注释(二) -- 创建帮助文档入门篇

    一.摘要 在本系列的第一篇文章介绍了.NET中XML注释的用途, 本篇文章将讲解如何使用XML注释生成与MSDN一样的帮助文件.主要介绍NDoc的继承者:SandCastle. 二.背景 要生成帮助文 ...

  9. java eclipse war包的二次开发方法

    有实际项目在跑的war包,却没有源码,苦于想查看源码,身处运维组为研发组看不起,拿不到源码,只能自己来反编译了. 只要你细心点,其实在解压war包后,可以看到文件夹中,已经存在了jsp文件,但是却没有 ...

随机推荐

  1. 斯坦福 IOS讲义 课件总结 二

    1,OC里面传参数个数不同,可以是两个完全不同的方法.如 - (void)addCard:(Card *)card atTop:(BOOL)atTop; - (void)addCard:(Card * ...

  2. 读取IOS的相应路径

    //    IOS相应路径 NSString* bundlePath = [[NSBundle mainBundle] bundlePath]; NSLog(@"bundlePath = % ...

  3. SPSS19.0实战之聚类分析

    这篇文章与上一篇的回归分析是一次实习作业整理出来的.所以参考文献一并放在该文最后.CNBlOG网页排版太困难了,又不喜欢live writer…… 聚类分析是将物理或者抽象对象的集合分成相似的对象类的 ...

  4. Flex XML搜索、匹配

    - <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx=" ...

  5. Cocos2d-x C++调用Android弹出提示框

    转载请注明地址,谢谢.. Cocos2d-x中提供了一个JniHelper类来让我们对Jni进行操作. (PS:弄了一天想自己写代码操作Jni的,但是总是出错,技术差不得不使用Cocos2d-x现成的 ...

  6. android 在新建短信时,加入名称为","(英文逗号)的联系人时,应用崩溃的修改

    请修改文件 /alps/frameworks/ex/chips/src/com/android/ex/chips/RecipientAlternatesAdapter.java private sta ...

  7. FastReport配置打印预览button_C++

    如需转载请标明出处:http://blog.csdn.net/itas109 FastReport採用C++方式.配置打印预览选项 //打印预览 //配置打印预览选项 pReport->Prev ...

  8. Oracle定时器调用存储过程

    1. 创建表 create table job_table(run_time date); 2. 创建存储过程 create or replace procedure job_proc is begi ...

  9. aop切入点表达式

    1.切入点表达式:对指定的方法进行拦截,并且生成代理表达式. 2.拦截所有public方法 <aop:pointcut expression="execution(public * * ...

  10. Linux 网络编程: gethostbyname( ), getservbyname( )

    前言 最近在学习网络编程,用到几个应该比较常用的网络编程函数,所以写篇博客来记录一下,毕竟学得快忘得也快.国庆节在宿舍写着博客看着各个景点人山人海倒也快哉~ gethostbyname( ) 这个函数 ...