1. 前言
两年前,学习了Django的开发,整理了一个系列的文档,《Django入门》、《Django开发简单Blog系统》、《Django部署到线上》等。半年前,使用Django和图像处理方法完成了毕业设计。
最近,打算空闲时间打造一下自己的微信公众号,于是安装了微擎系统。但是发现微擎系统存在很多问题,最不能忍受的是添加自动回复,添加完成没有报错,但是数据库根本没有记录!
找客服?对不起咱不是付费用户,没人给咱服务。看文档?对不起文档不涉及咱这个具体问题。找社区?对不起社区不活跃,没人遇到过咱这个问题,无人解答。学完微擎框架自己解决?有这个闲工夫,咱就自己写一个了!。。。行吧,拜拜了您哪!
找了一圈,没有找到特别满意的其他微信公众平台管理系统,那就,自己写一个吧!基于Django和WeRoBot,参考文档WeRoBot与其他 Web 框架集成。
2. 开发环境准备
1、Python版本3.6.3
2、Django版本2.1.7
3、PyCharm版本2018.1.4(Community Edition)
4、安装WeRoBotpip install werobot
3. 创建项目
首先给项目起个好名字吧,万一以后火了呢!就叫wecms吧,没错就是这么随意。
1、创建项目django-admin startproject wecms
2、运行wecms
1 | cd wecms |
3、测试访问
浏览器访问 http://localhost:8000/ ,即可看到项目首页。
4. 创建应用
1、创建应用
前期所有的模块都放在一起,以后再进行拆分优化,因此创建应用名为main。python manage.py startapp main
2、注册应用
编辑 wecms/wecms/settings.py,添加:
1 | # Application definition |
3、第一个函数
编辑 wecms/main/views.py,如下修改:
1 | from django.shortcuts import render |
4、添加路由
编辑 wecms/wecms/urls.py,如下修改:
1 | from django.contrib import admin |
创建 wecms/main/urls.py,内容如下:
1 | from django.urls import path |
5、启动服务python manage.py runserver
6、测试访问
浏览器访问
http://127.0.0.1:8000/
http://127.0.0.1:8000/main/
http://127.0.0.1:8000/main/index/
都可以看到welcome to wecms!
5. 引入WeRoBot
1、创建 wecms/main/views_wechat.py,内容为:
1 | import werobot |
收到的所有信息返回Today is wonderful day!
2、wecms/main/urls.py修改为:
1 | from django.urls import path |
注意,make_views函数中的参数并不是函数,而是robot对象。
3、测试访问
浏览器访问 http://127.0.0.1:8000/main/wechat/
6. 微信配置
1、使用内网穿透,把本地8000端口代理到 wecms-dev.voidking.com 域名。
2、测试访问
http://wecms-dev.voidking.com/main/wechat/
3、配置微信公众号
登录微信公众平台,开发,基本配置,服务器配置,修改配置。
填入URL和代码中定义的Token,随机生成EncodingAESKey,消息加解密方式选择明文,提交。
提交成功,就完成了微信公众号和服务器的绑定。用户发送给微信公众号的消息,会转发给我们的服务器;服务器处理完成后的信息返回给微信公众号,微信公众号再把消息转发给用户。
4、测试
扫码关注自己的公众号,然后发送任意信息,看看返回了啥?Today is wonderful day!