3

我想知道 Tornado 中是否有一个函数或者......可以将部分 URL 转换为完整的 URI。

假设我有一个 CSS 文件/static/css/thingy.css,我的服务器可以通过 HTTPS 访问192.168.1.4:8000。有没有可以做的功能:

function_something("/static/css/thingy.css")

返回:"https://192.168.1.4:8000/static/css/thingy.css"

这个问题似乎很容易解决(我猜)但是,一方面,我是 Tornado 的初学者,而且我无法在 Google 中找到回复。

先感谢您。

4

2 回答 2

3

嗯......我发现一些事情并不像我想要的那样简单,但是可以访问Tornado HTTPRequest,您可以获得有关protocol, host... 所以我可以这样做:

url = ("%s://%s/static/css/thingy.css" %
          (self.request.protocol,
          self.request.host,)
      )
于 2013-04-29T15:26:30.137 回答
0

如果您想在 python 文件中执行此操作,那么一个简单的 + 将为您完成这项工作。在python中连接字符串是这样完成的:

string1 + string2

所以对你来说

"https://192.168.1.4:8000" + "/static/css/thingy.css"

但是当然你在变量中有这两个字符串,假设它们被称为主机和位置,所以它会是

 url = host + place

然后 url 变量将包含您的完整路径。

于 2013-04-26T00:47:26.147 回答