Tornado的reverse_url
不是完全限定的网址。 Tornado中是否有一种机制可以获取完全限定的URL?例如:
>>> some_method('foo', 1234)
http://localhost:8080/foo/1234
答案 0 :(得分: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))