3

PHP 具有$_SERVER['DOCUMENT_ROOT']对网站基本 url 的引用:例如http://localhost:8080/. 我需要在jinja2. 我在应用引擎上使用 python 2.7。

如何在 jinja2 中获取网站的基本 URL?

4

2 回答 2

6

webapp2是基于WebOb. 从他们的文档

WebOb 是一个 Python 库,它提供了 WSGI 请求环境的包装器,以及一个帮助创建 WSGI 响应的对象。这些对象映射了 HTTP 的大部分指定行为,包括标头解析、内容协商以及条件和范围请求的正确处理。

访问应用程序 URL由处理程序中的对象启用,request并且可以通过属性访问application_url

import webapp2
class MainHandler(webapp2.RequestHandler):
  def get(self):
    self.response.write(self.request.application_url)
于 2012-12-08T17:18:55.560 回答
6

在 webapp2 中,您可以获取请求的主机部分并将其作为参数传递给 jinja 模板,如下所示:

class YourHandler(webapp2.RequestHandler):
  def get(self):
    params = {'url':self.request.host}
    template = jinja_environment.get_template('your_template.html')
    self.response.write(template.render(params))
于 2012-12-08T20:33:01.183 回答