Contents
迅速开搞
- 记得安装MySql-Server.
- 开辟一个虚拟环境,在独立环境中开发.
- 申请微信公众平台测试号
使用自己的微信号扫码登录即可使用微信公众平台测试号,测试号开放了微信公众平台的所有接口,只是限制了每个账号至多100 人关注,足够了. - 在工程根目录放置一个configs.json配置文件.
configs.json中是一些与环境相关或与安全相关的配置项,为JSON 格式的一个object,每个字段对应一个配置项. (json简介)
- 一个configs.json 对应一个环境(开发环境、测试环境、生产环境等),并把它加入.gitignore。(在.gitignore中添加一句 /configs.json)
- FBI Warning: 涉及到安全问题,千万不要把这个文件提交到git
库.
部分配置字段解释:
字段 | 内容 | 怎么搞 |
---|---|---|
SECRET_KEY | Django安全配置 | 随机串,长度50 |
DEBUG | 开发环境=true | 生产环境=false |
WECHAT_TOKEN | 微信公众平台的配置项token | 是个随机串 |
DB_NAME | 数据库名称 | 你用的是什么就填啥 |
IGNORE_WECHAT_SIGNATURE | 是否忽略微信的签名验证 | 一般为真,性能测试时临时false |
WECHAT_TOKEN/APPID/SECRET | 微信的相关设置 | 扫描登录后查看 |
DB_NAME/DB_USER/DB_PASS | 数据库名称(e.g. wechat),登录用户名,密码 | 开发环境可以直接用root,生产环境一般为specific user |
- Default: 'A secret key for a particular Django installation. This is used to provide cryptographic signing, and should be set to a unique, unpredictable value.
django-admin startproject automatically adds a randomly-generated SECRET_KEY to each new project.
Django will refuse to start if SECRET_KEY is not set.
Warning: Keep this value secret.Running Django with a known SECRET_KEY defeats many of Django’s security protections, and can lead to privilege escalation and remote code execution vulnerabilities.
- 微信接入
在微信公众号平台,用自己的账号扫码登录,测试号无需申请,拥有全部功能接口,只是限制关注人数<100.
要想和微信交互,就必须有公网IP. 如果你了解一些网络原理,就会明白你的电脑IP e.g. 192.168.. 是本地ip, 而对外取决于你是否拥有独立ip.
首先百度一下你的ip, then 在PyCharm 的运行和调试配置中修改Host 为0.0.0.0 接受来自任何来源的请求,然后通过http://your.ip.address:8000 尝试访问,如果访问得到Django 的404 页面,说明你当前的网络环境是直接使用独立IP 接入互联网的。
如果你没有独立ip(stand a good chance~~),需要通过代理来实现开发环境的微信接入。可以使用拥有独立IP 的外网机器进行反向代理,也可以使用花生壳 or nat123 等代理工具进行内网映射. 我用的是花生壳.
- 花生壳微信接入
花生壳安装与使用 - 微信接口信息配置时总是配置失败,最后发现是在花生壳中配置不对,选择的是"应用",最后的外网地址带端口号,微信无法配置; 修改为http80就可以了. 总之一句话,人家微信财大气粗,它告诉你配置失败,只能说是你出了问题…
- 花生壳貌似需要先填入设备SN,确保设备在线,就是亮绿灯.
- 在微信接口设置中url 地址后边加上的应该是服务器上的应用名称(uncertain), 花生壳里边那个应用名称只是在花生壳中标识.
在venv中使用root权限