Tornado 的 reverse_url 到完全限定的 URL

dan*_*iel 1 python tornado

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

>>> some_method('foo', 1234)
http://localhost:8080/foo/1234
Run Code Online (Sandbox Code Playgroud)

Ber*_*pac 6

这是我添加到所有处理程序中的一个小辅助方法:

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))
Run Code Online (Sandbox Code Playgroud)