当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

Bottle 路由

发表于: 2012-10-29   作者:bee1314   来源:转载   浏览次数:
摘要:   上面的例子我们构建了一个简单的只有一个单独路由的应用。如果一个应用只能绑定一个路由是多么枯燥的事情。我们可以添加更多。     @route("/")     @route("/hello/<name>")     def hello(name='Stranger'

 

上面的例子我们构建了一个简单的只有一个单独路由的应用。如果一个应用只能绑定一个路由是多么枯燥的事情。我们可以添加更多。

    @route("/")

    @route("/hello/<name>")

    def hello(name='Stranger'):

        return template("Hello {{name}}, How are you?", name=name)

    这个例子解释了两件事情:

        1. 你可以绑定一个或者多个路由到一个简单的回调,并且你可有添加占位符到URL并且通过关键字参数访问。

 

动态路由

    含有占位符的路由就被叫做动态路由(和静态路由相对立)并且可以匹配一个或者多个URL在同一时间。

    一个简单的占位符就是<>之间包含一个名字并且在下一个/之前包含一个或者多个字符。

    例如:路由/hello/<name>接受请求/hello/alice, 或者 /hello/bob, 但是不是/hello, /hello/, /hello/mr/smith

 

    每一个占位符传递URL中相关的部分作为一个关键字参数给请求的回调函数也就是route绑定的函数。

    你可以立刻使用这种方式去实现RESTful,漂亮的,有意义的URL。例如:

    @route('/wiki/<pagename>')             #match /wiki/Learning_Python

    def show_wiki_page(pagename):

        ....

 

    @route('/<action>/<user>')          #match /follow/bee1314

        ....

 

    在新的0.10版本。过滤器被用来定义更细节的占位符,或者在传递给回调函数之前转化URL中将要传递给回调函数的部分。

    一个过滤器占位符被声明如:<name:filter>或者<name:fiter:config>.可选config的部分的语法依赖于使用的filter。

    下面的filter就是已经默认实现的或者更多的将要被加入的:

    1. :int 只能匹配(signed有符号)数字并且将其值转化为integer整型。

    2. :float 只能匹配浮点型将其转化为decimal 数字。

    3. :path 匹配所有的字符包括/ 

    4. :re 允许你去制定一个自定义的正则表达式在config域中。

 

    @route('/object/<id:int>')

    def callback(id):

        assert isinstance(id, int)

 

    @route('/show/<name:re:[a-z]+>')

    def callback(name):

        assert name.isalpha()

 

    @route('/static/<path:path>')

    def callback(path):

        return static_file(path, ...)

Bottle 路由

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
python bottle framework #!/usr/bin/python # -*- coding utf-8 -*- from bottle import route, ru
参考:http://bottlepy.org/docs/dev/bottle-docs.pdf 下载:https://pypi.python.org/packages/sou
克莱因瓶是一种内外两面在同一个曲面上的图形. 在数学领域中,克莱因瓶(德语:Kleinsche Flasche)
Details : http://www.ecpnp.com/Automatic-Bottle-Caps-Screen-Printing-Machine-545.htm Descript
Details : http://www.ecpnp.com/Automatic-Plastic-Bottle-UV-Screen-Printer-87.htm Product Info
我的程序是用python结合bottle框架写的,但bottle自带wsgi原本只是单进程单线程运行模式(Bottle 默
经过1-2个星期的开发,现在开发了个半成品(UI现在比较烂,因为我的前端本来就很差,将就下吧),大
Router>en Router#conf t Enter configuration commands, one per line. End with CNTL/Z. Route
路由器、路由与路由表 路由器就是一台网络设备,它配备多个网络接口卡(NIC),能利用它的网络知识正
主要数据结构 1: struct fib_table { 2: struct hlist_node tb_hlist; 3: u32 tb_id; 4: int tb_def
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号