1

サンプルの Bottle.py コード:

@route('/show_<name>')
def show(name):
   return ''

私の質問は:

  1. URL が与えられた場合、ビュー関数を取得するにはどうすればよいでしょうか? たとえば、URL は です。関数がこのリクエスト URL を担当して/show_magicいることを知る必要があります。show()

  2. ルート (Router ではありません!!) とパラメータが与えられた場合、URL を取得するにはどうすればよいですか? たとえば、リバースという関数が必要ですreverse(default_app().routes[0], name='me') == '/show_me'

4

2 に答える 2

6

名前付きルートを検討することをお勧めします

@route('/show_<item_name>', name='item_show')
def show(item_name):
   return ''

ルート名とパラメーターが与えられたら、URL を取得する方法を教えてください。get_url を使用します

get_url('item_show', item_name='my_item')

http://nongraphical.com/2012/08/using-bottle-py-in-production/

于 2014-10-10T08:44:49.160 に答える
3

最初の質問には、 を使用しますBottle.matchpath(ie )'/show_magic'method(GETまたは何でも) を指定すると、以下はオブジェクトとそのパラメーターPOSTを含むタプルを返します。Route

default_app().match({'PATH_INFO': path, 'REQUEST_METHOD': method})

呼び出される関数は、Routeオブジェクトのcallbackまたはcall属性です。

2 番目の質問では、ルートと kwargsでルーターのbuildメソッドを使用します。rule

default_app().router.build(route.rule, name='me')

それは文書化されていないようですが、機能します。

于 2013-02-28T11:29:02.140 に答える