竜巻のreverse_url
は、完全修飾URLではありません。 Tornadoに完全修飾URLを返す仕組みがありますか?例えば:Tornadoのreverse_urlから完全修飾URL
>>> some_method('foo', 1234)
http://localhost:8080/foo/1234
竜巻のreverse_url
は、完全修飾URLではありません。 Tornadoに完全修飾URLを返す仕組みがありますか?例えば:Tornadoのreverse_urlから完全修飾URL
>>> some_method('foo', 1234)
http://localhost:8080/foo/1234
これで私はすべての私のハンドラに追加する小さなヘルパーメソッド:
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))
ありがとう、これは素晴らしいです。 – daniel
よろしくお願いします! :) –
なぜ 'reverse_url'は、あなたのニーズに合わせていないのですか? –
私は完全なURLを希望しています。上記の例の 'reverse_url'は'/foo/1234'を提供します。 – daniel
''}:// {} {} '.format(self.request.protocol、self.request.host、self.reverse_url(' foo '、 1234)) ' –