其实一个Web App就是写一个WSGI的处理函数,针对每个HTTP请求进行响应。
处理HTTP请求不是问题,问题是如何处理100个不同的URL。
WSGI的接口虽然比HTTP接口高级了不少,但是和Web App的处理逻辑相比,还是比较低级。
我们需要在WSGI接口之上能进一步抽象,让我们能够用一个函数处理一个URL,至于URL到函数的映射,就交给Web框架来做。
常见的python web框架:
- Flask
- Django:全能型的web框架
- web.py:一个小巧的web框架
- Bottle:和Flask类似的Web框架
- Tronado:Facebook的开源异步Web框架
总结:
有了Web框架,我们在编写Web应用时,注意力就从WSGI处理函数转移到URL+对应的处理函数,这样,编写Web App就更加简单了。
在编写URL处理函数时,除了配置URL外,从HTTP请求拿到用户数据也是非常重要的。Web框架都提供了自己的API来实现这些功能。Flask通过request.form['name']
来获取表单的内容。