1.从一个web.py的hello world的DEMO服务说起
(1)编写web.py的web应用
import web #引入web.py的包
#定义web应用的路由规则
urls = (
'/', 'index'
)
#与是某条路由规则的处理类,提供GET/POST等HTTP method
class index:
def GET(self):
return "Hello, world!"
if __name__ =="__main__":
app = web.application(urls, globals()) #初始化web应用
app.run() #启动web应用
(2)启动web服务
假设上面的代码所在的python文件为web-demo.py,那么执行python web-demo.py就可以启动web应用,且默认监听端口为8080.当然我们可以是使用python web-demo.py port来执行监控port端口来启动web应用。
2.web.py中模板的使用
使用方法如下: view plain cop
render= web.template.render('templates') #构建render对象,用来渲染模板
render= web.template.render('templates', base = 'layout') #构建render对象,模板的base模板是templates/layout.html
3.web.py中的session对象
web.py可以为每一个客户端创建一个session对象,session对象可以存储到磁盘,也可以存储到数据库中。web.py应用中可以将用户信息写入到session中,然后当客户请求web.py服务器时,就可以读取session中关于用户的信息。
使用举例:view plain c
session= web.session.Session(app, web.session.DiskStore('sessions'),initializer={'count': 0})
#建立session对象,并存储到sessions文件中,session中有一个count字段,且初始值为0,web.py会为每一个客户端建立一个session对象,session对象中值相互之间是独立不影响的
备注:
我们可以在模板或web.py子应用或非入口脚本文件中使用session,方法参见http://webpy.org cookbook
4.web.py重定向
(1)给浏览器返回HTTP 303
raise web.seeother('/someotherpage')
(2)给浏览器返回HTTP 301,表示永久重定向 view plai co
raise web.redirect('/someotherpage')
5.其他
(1)http://webpy.org/src/上有几个web.py的demo例子可以研究下
(2)web.py部署,包括配置反向代理参见http://webpy.org/install (英文)
学习资料参考于:
http://webpy.org/docs/0.3/tutorial.zh-cn