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

时间:2012-12-08 04:39:50

标签: google-app-engine python-2.7 jinja2

PHP有$_SERVER['DOCUMENT_ROOT']作为对网站基本网址的引用:例如http://localhost:8080/。我需要在jinja2中做同样的事情。我在app引擎上使用python 2.7。

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

2 个答案:

答案 0 :(得分:6)

webapp2基于WebOb。来自他们的docs

  

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

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

import webapp2
class MainHandler(webapp2.RequestHandler):
  def get(self):
    self.response.write(self.request.application_url)

答案 1 :(得分: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))