前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python+Tornado开发微信公众号(上)

Python+Tornado开发微信公众号(上)

作者头像
企鹅号小编
发布2018-01-02 11:43:03
2.5K0
发布2018-01-02 11:43:03
举报
文章被收录于专栏:微信小开发

本教程针对的是已掌握Python语言基本用法并且掌握其任一Web框架的用户。

本教程使用的Python版本为3.5.0, Web框架为Tornado, IDE开发工具为PyCharm,整个开发过程是在Windows环境下测试开发,最终上线部署至centos服务器。

备注:(1) 如果您是python小白,建议参考Python入门教程

(2) 对tornado框架还不熟悉的同学,建议参考Tornado中文文档

本教程整体框架如下:

思维导图如下:

整体项目结构如下:

下面我们正式进入详细的开发流程

一. Python开发环境和项目的初始化搭建

1. 安装python及pip,并配置环境变量,安装tornado框架

Python及pip安装参考教程windows下面安装Python和pip终极教程

(1) 下载Python包并安装 点此下载

(2) 将python配置到系统环境变量

(3) 下载pip包并安装 点此下载

(4) 将pip配置到系统环境变量

(5) 使用pip安装tornado框架 指令为:

2. 选择一款开发Python的IDE

本教程使用的是PyCharm点击下载

附带: PyCharm 2016.2.3专业版注册码

3. 选择一个代码托管平台

本教程使用的是开源中国Git@osc代码托管平台 码云 - 开源中国代码托管平台,请自行注册,并配置账户下的SSH密钥,关于Git的使用,请参考教程 Git教程 - 廖雪峰的官方网站

4. 创建Web项目

使用Tornado搭建项目入口,端口号为8000,项目搭建至完成微信校验所需的基本代码如下:

项目整体目录

为了方便调试,编写了日志管理文件logger_helper.py

备注: 为防止日志输出报错, 请各位同学注意修改日志输出目录为自己定义的文件目录

配置Tornado的url路由规则url.py

基本配置文件run.py

(5) 同步项目文件至Git托管平台

项目入口文件及微信校验文件已编写好,使用Git同步代码至托管平台,接下来需要配置端口映射,使外网能访问到我们的本地项目,便于完成微信服务端校验.

5. 使用花生壳,配置本地测试所需端口映射

微信公众号开发需要配置服务端URL, 验证URL的有效性,这个URL必须以http://或https://开头,分别支持80端口和443端口,我们目前测试阶段都是在自己电脑上测试(本地测试),为了满足不断修改代码能够即时生效, 因此需要一个外网ip端口映射到本地(内网穿透),我本人使用的是花生壳内网穿透服务,下面是花生壳的使用流程:

(1) 花生壳的账户注册 花生壳软件-内网也能用!内网动态域名,注册成功后,会赠送一个免费域名,这个域名同时也配备了一个公网ip

(2) 进入到花生壳管理界面, 选择内网穿透菜单,进入到配置界面

(3) 选择 右边的"编辑"操作,弹出编辑映射面板,在"内网主机"一项,填上自己本地电脑的ip地址,端口填写自己将要创建的web应用端口,我本地项目用的端口号为8000,此处填写8000即可

二. 微信公众号注册及开发模式校验配置

填写完毕后,先启动我们的项目,运行python run.py指令后, 保证我们的服务器是运行着的, 然后点击"提交",如果你是按照以上流程操作的话,会提示提交成功,否则校验失败,需要我们通过日志检查是哪一块出了问题.

(2) 接下来,校验成功后,点击启用,即可激活开发者模式

三.接收关注/取关事件推送和自动回复

1. 接收关注/取关事件推送

wxauthorize.py

以下是在该文件中增加的post方法,用来接收事件推送

2. 自动回复

(1) 同接收关注/取关事件推送消息一样,用户给我们公众号发送消息时,微信公众平台也会推送数据至我们的后台微信校验的接口,在接收到消息后,我们取出自定义的关键字进行匹配,匹配到了就执行自动回复

(2) 微信公众平台也提供了语音识别功能, 将用户发送的语音内容识别转化为文字,发送给我们后台,在使用该功能时需要在接口权限中打开语音识别功能.

wxauthorize.py

以下是在该文件中post方法中增加的一个判断,用来匹配用户文本消息和语音消息中的关键字

本文来自企鹅号 - 全球大搜罗媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - 全球大搜罗媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
代码托管
CODING 代码托管(CODING Code Repositories,CODING-CR)是为开发者打造的云端便捷代码管理工具,旨在为更多的开发者带去便捷、高效的开发体验,全面支持 Git/SVN 代码托管,包括代码评审、分支管理、超大仓库等功能。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档