Web2py的URL解析

 

默认的application是init,如果不存在init,则运行examples;

默认的controller是default

默认的function 是index

当controller为static的时候,web2py将其解析为static文件下的文件

 

例如:

         http://127.0.0.1:8000/a/c/f/x/y/z?p=1&q=2

解析后变量为:

         request.args=['x', 'y', 'z']

         request.vars={'p':1, 'q':2}

         request.application='a'

         request.controller='c'

         request.function='f'

 

解析流程:

  1. 解析cookies
  2. 准备好执行函数的环境
  3. 初始化对象:request, response, cache
  4. 打开已存在的进程或新的进程,根据cookies结果不同
  5. 执行model,经测试,按数字字母顺序依次执行
  6. 执行controller中对应的函数
  7. 如果返回dict类型,则执行对应的view中.htm文件
  8. 如果成功,则提交所有打开的事务
  9. 保存进程
  10. 返回HTTP response

注意:

         View并看不到controller,它只能看到model和function返回的dict

posted @ 2012-08-13 17:21  szhyathome  阅读(261)  评论(0编辑  收藏  举报