发布于 2015-05-04 08:58:14 | 169 次阅读 | 评论: 0 | 来源: 网友投递
Bottle Python Web开发框架
Bottle是一个Python Web框架,整个框架只有一个文件,几十K,却自带了路径映射、模板、简单的数据库访问等web框架组件,确实是个可用的框架。初学web开发可以拿来玩玩,其语法简单,部署也很方便。
这篇文章主要介绍了在Python的Bottle框架中使用微信API的示例,作者还在文中给出了一个生成的微信可扫描的二维码图,需要的朋友可以参考下
微信这个东西估计宅男没几个不熟悉的吧,微信经过这么两年多的发展终于向开放平台跨出了友好的一步。蛋疼的以为微信会出一个详细的api等接口,兴奋不已的去申请了微信公共平台,然后开始找各种api的位置……
花费了近一个小时,依然没找到……
最后动用Google大杀器,终于找到了这么个链接。我了个去的,没比这还简单的api文档了吧。
最让人无法理解的是:居然没有本地开发环境支持,每次都要放在生产环境去调试。
最让人欣慰的是:就那么俩方法,生产环境调试几次也就完事了。
Python(bottle)版代码如下:
# -*- coding:utf-8 -*-
from bottle import debug, default_app, run, get, request, post
import sys, os, time, libxml2dom
@get('/')
def index():
return request.GET.get('echostr')
@post('/')
def index_post():
for key, value in request.POST.allitems():
doc = libxml2dom.parseString(key)
_to = doc.xpath('//FromUserName')[0].textContent
_from = doc.xpath('//ToUserName')[0].textContent
#_content = doc.xpath('//Content')[0].textContent
return """<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>0</FuncFlag>
</xml>"""%(_to, _from, int(time.time()), u'我了个去啊')
if __name__ == "__main__":
# Interactive mode
debug(True)
port = int(sys.argv[1] if len(sys.argv) > 1 else 8888)
run(host='0.0.0.0', port=port, reloader=True)
else:
# Mod WSGI launch
os.chdir(os.path.dirname(__file__))
app = default_app()
演示直接看图: