Python版(3.7.2)支付宝(Alipay)退款(refund)接口的开发

    在之前的文章中介绍了如何编写支付宝支付接口 Python3.7.2+Django2.0.4 美多商城集成最新版支付宝支付接口(2019.04)     匆忙之中只考虑了支付,其实当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,支付宝将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家帐号上。 交易超过约定时间(签约时设置的可退款时间)的订单无法进行退款 ......

解决Django2.0.4+kindeditor4.11 跨域上传文件的问题

    在之前的一篇文章中介绍了如何将富文本kindeditor结合到django中:Django2.0.4 结合 KindEditor 4.1.11 富文本编辑器     在同域环境中是没有问题的,换句话说,也就是上传接口如果部署在前端页面同一个域名下是没有问题的,然而美多商城的系统架构是前后端分离,前端页面是vue.js服务,后端接口是django服务,分别部署在不同的服务器上,如果在vue.sj页面中想要使用kinde......

为美多商城(Django2.0.4)添加基于websocket的实时通信,主动推送,聊天室及客服系统

websocket是个啥? webSocket是一种在单个TCP连接上进行全双工通信的协议 webSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输 现在,很多网站为了实现推送技术,所用的技术都是轮询。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数......

为美多商城(Django2.0.4)添加基于websocket的实时通信,主动推送,聊天室及客服系统

在vscode中为Django配置专属的语法检测提醒,防止误报语法错误

    Python插件中默认使用pylint用来检测python代码的书写是否有错误和是否符合良好的编码习惯。 Python官网(https://www.python.org/dev/peps/pep-0008/)专门有版块介绍推荐的python代码习惯,比如类,函数等的命名规则,遵守这些规则可以使自己的代码更加简明和易读。 然而pylint在面对django框架时表现的有些不足,因为django使用了大量的元编程(metaprogra......

使用ApacheBench来对美多商城的秒杀功能进行高并发压力测试

    秒杀功能众所周知,低廉的价格会引来很多用户趋之若鹜的争抢点击,导致一系列的服务器负载问题,服务器负载太大而影响程序效率也是很常见的,Apache服务器自带有一个叫AB(ApacheBench)的工具,可以对服务器进行负载测试 同时美多商城的秒杀功能也会被高负载影响,从而导致超卖现象 安装xampp软件 进入 c:/xampp/apache/bin 基本用法: ab  -n 全部请求数 -c 并发数测试u......

Python3.7.2+Django2.0.4 美多商城集成最新版支付宝支付接口(2019.04)

  最新版支付宝算法的改变就是RSA升级了RSA2,长度推荐2048,其他的逻辑变化不大,关于秘钥的生成在之前的一篇文章已经有所介绍   在Mac系统下生成新版支付宝(2019年4月)支付接口私钥和公钥   在Django中集成支付接口的前置操作就是需要安装pycryptodome   pip3 install -i https://pypi.douban.com/simple pycryptodome ......

处理Centos6和Centos7下,python3处理中文的神坑

  在一个阿里云的ecs服务器上,安装了centos6.5,然后部署Django2.0.4+python3.7.2,处理编码格式为UTF-8的HTTP请求,但奇怪的发现,将bytes类型的请求内容decode的时候会报解码错误UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 0: ordinal not in range(128)  同样的程序,在windows Macos centos5.5 都没问题  网......

Django2.0.4 结合 KindEditor 4.1.11 富文本编辑器

  KindEditor是一款还不错的开源的HTML可视化编辑器,主要用于让用户在网站上获得所见即所得编辑效果,兼容IE、Firefox、Chrome、Safari、Opera等主流浏览器。之所以推荐这一款编辑器,是因为它非常的轻量化,也不需要安装,从而耦合度非常低,无论是使用表单提交内容还是异步提交,都非常方便,这里简单介绍一下如何在Django2.0.4中使用这款富文本编辑器。   首先 在官网下载文件 http://kinded......

关于win下面Celery服务报 Process 'Worker' exited with 'exitcode 1' [duplicate]

  使用Celery服务运行异步任务或者定时任务的时候,服务虽然起了,但是会报错:  Celery Process 'Worker' exited with 'exitcode 1' [duplicate]  导致任务并未运行。  经过搜索可以定位到问题所在,是因为celery依赖库billiard版本过低,导致任务发生了阻塞,所以最好的解决方案就是升级billiard  执行 pip install --upgrade billiard  官方的解释是,billiard最好>=......

使用python3.7.2 实现大名鼎鼎的Elo Score等级分制度

  在年度影片《社交网络》中,影片开场,马克扎克伯克和他的女朋友在酒馆里因为琐事分手,气急败坏的他回到了宿舍,在舍友的鼓励和帮助下,充分发挥了作为技术天才的动手能力,做出了Facemash网站,对大学女生的相貌进行分级打分,结果网站访问流量过大,直接把大学网络都搞宕机了。而Facemask就是著名的FaceBook的前身,Facemask大受欢迎的关键就在于扎克伯格的同学爱德华多(他也是facebook的联合创始人之一)写在窗户上的排名公式  ......

使用python3.7.2 实现大名鼎鼎的Elo Score等级分制度

Django2.0.4+Uploadify3.0(h5版) 实现多文件异步上传和删除

  已经9012年了,如果你的网站还通过传统表单上传文件的话,那你简直low到爆了,也别干什么web开发了,直接面壁去吧。   本文基于Uploadify异步上传控件来实现多文件异步上传的无刷新机制,用来提高效率和用户体验,由于uploadify基于jquery,所以确保已经引入了稳定版的Jquery,另外需要说明的是,uploadify分为flash版和h5版,鉴于flash早就已经被淘汰了,所以h5才是我们的选择,但是h5版居然需......

python3.7.2+Django2.0.4 使用django-celery遇到的那些坑

  1 首先为啥要用celery      因为在Django Web平台开发中,碰到一些请求执行的任务时间较长(几分钟),为了加快用户的响应时间,因此决定采用异步任务的方式在后台执行这些任务。与此同时,celery除了异步任务,还可以开启定时任务,方便调度。   2 安装需要的软件包     &emsp......

关于Django2.0跨域问题

  首先,明确一个问题,就是跨域需要服务端支持才行,而不是靠前端修改代码可以解决的,无论你用jquery axios fetch都是如此。  这里介绍一下,如果使用的是Django2.0本身作为web服务端,该如何处理跨域请求问题。  1 安装插件  pip install django-cors-headers  2 编辑配置文件(settings.py)  INSTALLED_APPS = [    ''''''''''''    ''''''''''......

Flask 在虚拟环境之中做开发

  虚拟环境可以搭建独立的python运行环境, 使得单个项目的运行环境与其它项目互不影响 比如一些项目基于python2.0,而另外一些项目却基于python3.0,同时这些项目必须在同一台服务器上部署,使用virtualenv就可以完美解决这个问题虚拟环境安装命令pip install virtualenv进入项目安装虚拟目录的命令virtualenv venv激活虚拟环境activate离开虚拟环境 ......

Flask最新版本的中文翻译手册

一个最小的应用一个最小的 Flask 应用如下:from flask import Flaskapp = Flask(__name__)@app.route('/')def hello_world():    return 'Hello, World!'  Flask作为一个经典的轻量级框架无论在国外还是国内都十分流行,这里记录一下新版的中文翻译手册,留作备用  https://dormousehole.readthedocs.io/en/latest/quickstart.......

python的dict中key为变量的使用技巧

  有的时候,一些代码中需要用到的变量并不是写在代码里或者配置文件中,而是直接写在文件里,比如.thrift文件配置之类的,这时候当我们定义字典时,key有时候就不是定义好的值,而是文件中的变量,使用下面的技巧就可以反向直接使用变量而调用value val = 'aaa' _tc = {val:'身份证'} print _tc['aaa'] ......

15个在github上最受欢迎的py框架,记录一下

1. Django: Python Web应用开发框架  Django 应该是最出名的Python框架,GAE甚至Erlang都有框架受它影响。Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构、以及全功能的管理后台。  2. Diesel:基于Greenlet的事件I/O框架  Diesel提供一个整洁的API来编写网络客户端和服务器。支持TCP和UDP。  3. Flask:一个用Python编写的轻量级Web应用框......