1.申请一个微信公众号 2.安装Python,PyCharm,下载wechatpy(pip install wechatpy) 3.服务器 如是自己没有服务器, 下载ngrok ,ngrok 是一个反向代理,通过在公共端点和本地运行的 Web 服务器之间建立一个安全的通道,实现内网主机的服务可以暴露给外网
我自己使用ngrok反向代理作为服务器的,配置ngrok遇到一些坑,我用的是免费的,免费的是无法配置固定域名的,临时的域名10个小时就会过期,有点烦。
启动ngrok 打开ngrok,复制图中代码,点击确认。 确认之后,显示如下图所示,图示网址相当于localhost:80
打开PyCharm,新建一个Django项目
新建一个名为wx的app,
在view.py中编写以下代码
from django.http.response import HttpResponse from django.views.decorators.csrf import csrf_exempt from wechatpy import parse_message, create_reply from wechatpy.exceptions import InvalidSignatureException from wechatpy.pay import logger from wechatpy.replies import TextReply from wechatpy.utils import check_signature token = 'fan' def wechat(request): # GET 方式用于微信公众平台绑定验证 if request.method == 'GET': signature = request.GET.get('signature', '') timestamp = request.GET.get('timestamp', '') nonce = request.GET.get('nonce', '') echo_str = request.GET.get('echostr', '') try: check_signature(token, signature, timestamp, nonce) except InvalidSignatureException: echo_str = '错误的请求' response = HttpResponse(echo_str) return response elif request.method == 'POST': msg = parse_message(request.body) if msg.type == 'text': reply = create_reply('这是条文字消息', msg) elif msg.type == 'image': reply = create_reply('这是条图片消息', msg) elif msg.type == 'voice': reply = create_reply('这是条语音消息', msg) else: reply = create_reply('这是条其他类型消息', msg) response = HttpResponse(reply.render(), content_type="application/xml") return response
5.在urls.py 文件里加入路由,并在主文件的urls 文件里include(‘wx.urls’); 6.在wx应用中增加urls文件,并编写如下代码 7.修改setting.py中的一些配置 8. 在命令行以80端口启动该文件:python manage.py runserver 80
进入到公众号页面后,左边的菜单栏有一个基本配置,点击,输入刚才的网址,令牌自己写,我这里是fan,随机生成秘钥,点击确认,如图所示: 在左边点击开发者工具, 点击在线接口调试工具 选择基础接口测试 显示如下即测试成功 消息接口测试 显示如下即测试成功。 公众号测试如下
以上只是最基本简单的开发,其他开发可参考WeChatpy的官方文档和微信公众平台开发
原文链接:https://blog.csdn.net/qq_34621092/article/details/84957731