题图:伦敦TowerBridge。
如果想用Python编写网站,有许多PythonWeb框架供选择(还不少呢)。一个Web框架至少要具备处理客户端请求和服务端响应的能力。框架可能具备下面这些特性中的一种或多种。
路由
解析URL并找到对应的服务端文件或者Python服务器代码。
模板
把服务端数据合并成HTML页面。
认证和授权
处理用户名、密码和权限。
Session
处理用户在多次请求之间需要存储的数据。
先简单提下两个框架(bottle和flask),之后会介绍其他框架,用它们编写带数据库的网站非常方便。无论想编写什么网站都能找到合适的框架。
Bottle只包含一个简单的Python文件,所以非常易于使用并且易于部署。Bottle并不是Python标准库的一部分,需要使用命令安装。
Bottle是非常优秀的入门框架,但如果需要更多功能,就试试Flask吧。Flask最初只是年的一个愚人节玩笑,但是由于大家反响非常热烈,作者ArminRonacher把它变成了一个真正的框架。有趣的是,Flask这个名字也是一个文字游戏。
flask和bottle都有瓶子的意思。
Flask和Bottle一样易用,同时还支持很多专业Web开发需要的扩展功能,比如Facebook认证和数据库集成。很多人都喜欢Flask,因为它既好用又强大。
Flask包中自带了werkzeugWSGI库和jinja2模板库,可从终端安装。
非Python的Web服务器标准库的