Tornado的reverse_url到完全限定的URL

问题描述 投票:1回答:1

Tornado的reverse_url不是完全限定的URL。 Tornado中是否有一种机制可以获取完全限定的URL?例如:

>>> some_method('foo', 1234)
http://localhost:8080/foo/1234
python tornado
1个回答
4
投票

这是一个小帮手方法,我添加到我的所有处理程序:

from urllib.parse import urljoin  # urlparse in Python 2

class BaseHandler(tornado.web.RequestHandler):

    def reverse_full_url(self, name, *args, **kwargs):
        host_url = "{protocol}://{host}".format(**vars(self.request))
        return urljoin(host_url, self.reverse_url(name, *args, **kwargs))
© www.soinside.com 2019 - 2024. All rights reserved.