样本Bottle.py代码:
@route('/show_<name>')
def show(name):
return ''
我的问题是:
给定一个URL,我们如何获得视图功能?例如。网址为/show_magic
,我需要知道show()
函数负责此请求网址
给定路由(不是路由器!!)和参数,如何获取URL?例如我需要一个名为reverse的函数reverse(default_app().routes[0], name='me') == '/show_me'
答案 0 :(得分:6)
您可能想要考虑命名路线
@route('/show_<item_name>', name='item_show')
def show(item_name):
return ''
现在给出了路由名称和params如何获取URL?我们使用get_url
get_url('item_show', item_name='my_item')
http://nongraphical.com/2012/08/using-bottle-py-in-production/
答案 1 :(得分:3)
关于第一个问题,请使用Bottle.match
。给定path
(即'/show_magic'
)和method
(GET
或POST
或其他),以下内容将返回包含Route
的元组对象及其参数:
default_app().match({'PATH_INFO': path, 'REQUEST_METHOD': method})
调用的函数是Route
对象的callback
或call
属性。
对于第二个问题,请使用路由器的build
方法和路由rule
以及kwargs:
default_app().router.build(route.rule, name='me')
这似乎没有记录,但它确实有效。