web.py的一些东西

理解URL&URL的处理

任何网站最重要的部分就是它的URL结构。URL并不仅仅只是访问者能够看到和使用的,它还规定了你网站运行的核心模型。

web.py里面的url调用规则一般被定义在如下元组中

下面是一个基本的url结构:

  • 第一部分是匹配URL的正则表达式,像/、/help/faq、/item/(\d+)(\d+将匹配数字)、/user/(.?)等(.?匹配0个或任意个字符)。圆括号表示捕捉对应的数据以便后面使用。
  • 第二部分是接受请求的类名称,像index、view、welcomes.hello (welcomes模块的hello类),或者get_\1。\1 会被正则表达式捕捉到的内容替换,剩下来捕捉的的内容将被传递到你的函数中去。

写一个基本的程序

在开始web.py程序前,必须导入web.py模块

然后定义完们的url规则:

现在我们需要创建一个列举这些url的application。

这会告诉web.py去创建一个基于我们刚提交的URL列表的application。这个application会在这个文件的全局命名空间中查找对应类。
定义处理类:

最后我们在来一句

这会告诉web.py为我们启动上面我们写的应用。

让它跑起来

上面完整的代码如下,我们命名为:myapp.py

$python myapp.py 127.0.0.1:8888

就可以通过 http://127.0.0.1:8888访问你的程序
如:
http://127.0.0.1:8888/
http://127.0.0.1:8888/user
http://127.0.0.1:8888/admin
http://127.0.0.1:8888/admin?xxx=s
http://127.0.0.1:8888/admin?name=haha
http://127.0.0.1:8888/list/
http://127.0.0.1:8888/list/xxx
/list/(.?) 匹配0到任意个字符 ,括号内的字符会以一个参数传入,?后的查询语句需要用web.input获取

参考:
http://webpy.org/cookbook/url_handling
http://webpy.org/tutorial3.en

—完—

相关文章

0 条评论
发表一条评论

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。