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

kas*_*ere 3 google-app-engine jinja2 python-2.7

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

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

bos*_*ter 6

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

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

访问应用程序URLrequest处理程序中的对象启用,可以通过以下属性访问application_url:

import webapp2
class MainHandler(webapp2.RequestHandler):
  def get(self):
    self.response.write(self.request.application_url)
Run Code Online (Sandbox Code Playgroud)


Tha*_*ris 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))
Run Code Online (Sandbox Code Playgroud)