15

ボトルの使用Sehttp://bottlepy.org/docs/dev/routing.html#wildcard-filters

任意のURLを受け入れてから、そのURLで何かを実行したいと思います。

例えば

@bottle.route("/<url:path>")
def index(url):
  return "Your url is " + url

URLにはスラッシュが含まれており、ボトルはスラッシュで分割されるため、これは注意が必要です。

4

4 に答える 4

9

そもそもあなた(OP)は正しい方向に進んでいたと思います。 <mypath:path>トリックを行う必要があります。

ボトル0.10で試してみましたが、機能します。

~>python test.py >& /dev/null &
[1] 37316
~>wget -qO- 'http://127.0.0.1:8090/hello/cruel/world'
Your path is: /hello/cruel/world

これが私のコードです。これをシステムで実行するとどうなりますか?

from bottle import route, run

@route('<mypath:path>')
def test(mypath):
    return 'Your path is: %s\n' % mypath

run(host='localhost', port=8090)

乾杯!

于 2012-03-30T03:03:36.887 に答える
1

ボトル 0.12.9 では、オプションの動的ルートを実現するためにこれを行いました。

@bottle.route("/<url:re:.*>")
def index(url):
  return "Your url is " + url
于 2016-04-27T13:25:58.693 に答える
0
@bottle.route("/hello/:myurl")
def something(myurl):
    print myurl
    return "Your url was %s" % myurl

正常に動作するはずです

次に、関数自体に正規表現を書き込みます。

または、新しいフィルターを使用してそれを行うこともできますが、そのためには、フィルター関数を記述してアプリに追加する必要があります。

于 2011-11-17T17:55:40.130 に答える