基于Django的微信公众号开发(2) -- 在sae添加第三方包

来源:互联网 发布:知乎发帖时间 编辑:程序博客网 时间:2024/06/06 00:50

首先说一下, 本文写于2017年11月, 如果时间过得太久的话, 可能有一定变化, 用作参考即可.


我既然想开发一个公众号, 那么我肯定需要开通微信的开发者认证, 在认证的过程中, 我需要在我的代码里面引入一些用于跟微信服务器连接的参数(就是认证码之类的东西,我是这么理解的), 但是这只是一个电话号码, 要想跟服务器通信我们还需要一个电话(第三方包,wechat-sdk,及其他依赖包).


由于sae的python环境并不是都有这些包的, 他包含的包只有十几个,更多的特殊包需要我们自己弄进去, 下图就是sae默认的包和可以选择的版本表




你会发现, 并没有wechat-sdk包, 那我们就只能辛苦一点自己弄进去了


好,在上一篇我们说过在代码目录1里面, 新建一个site-packages文件夹, 用来放我们的Django包, 其实这个文件夹的作用就是让我们放第三方包的, 那么我们可以把wechat-sdk,requests包解压后先拷进这个文件夹内,就像这样



包我们弄进去了, 接下来我们需要path指定这些包,

我们在index.wsgi加入这些内容(有就不用写了)



这时候, 可能有细心的小伙伴发现了, 我把site-packages的子目录也写进去了,

没错, 我这么写是有理由的

因为, 这样写, 你如果以后加入一些其他内容的时候, 你明知道你想加入这个内容是属于某个模块, 如果不加入这些, 你就只能把这东西放到site-packages上, 如果要加入大量的东西, 找也麻烦, 所以这样写虽然累赘, 但是却是很好管理. 有时候还会避免一些阴险的bug (T T)

接下来你就知道了


好, 除了刚才导入萨尔没有的两个包外, 我们还需要导入PyCrypto模块, 这个包在sae上面是有的, 2.6版本.

这样我们直接导进去就行, 不用自己加入包

我们修改config.yaml



可以看到, 第一行django是我加入高版本Django用到的. 不管

第二行是我们定义需要的pycrypto包, 使用sae有的包, 如果sae没有定义默认版本, 那么你就要这么写明使用的包和版本

这样子,我们就成功引入了


PS: 如果你们在安装wechat-sdk包后还是遇到"找不到six模块"的问题, 你可以找一个six.py

http://pan.baidu.com/s/1jI05qgY(点这里可以下载, 我放在了百度网盘)

下载下来后,放在wechat-sdk里面  (这时候你就知道为什么我要写这么多path了)


以上!


阅读全文
0 0
原创粉丝点击