1

示例:/open/123/http://x.com/wordpress/?p=592

@route('/open/<item_id:int>/<url:path>')
def open(item_id , url):
    print url

此打印的输出是

'http://x.com/wordpress/'

我想要的是完整的网址

'http://x.com/wordpress/?p=592'

我想要完整的 url,因为我要记录用户点击,然后将他引导到它。

4

2 回答 2

3

路由仅匹配 URL路径,而不是查询(RFC 3986 第 3.4 节)。试试这个:

@route('/open/<item_id:int>/<url:path>')
def open(item_id , url):
    if request.query_string:
        url += '?' + request.query_string
    print url
于 2012-04-29T13:38:56.833 回答
1

你需要类似的东西

@route('/open/<item_id:int>/<url:path>/<stuff_after_slash:whatevertype>')
def open(item_id , url, stuff_after_slash):
    print url + stuff_after_slash
于 2012-04-29T09:16:30.880 回答