2012-12-08 71 views
3

PHP有$_SERVER['DOCUMENT_ROOT']作爲一個網站的基本URL的引用:例如​​。我需要在jinja2中做同樣的事情。我在應用程序引擎上使用python 2.7。如何在jinja2中獲取網站的基本網址?

如何讓網站中的Jinja2基本URL?

+0

@bossylobster,我正在使用webapp2。至於你的「你有什麼嘗試?」這不是一個算法或解決問題的問題。這是語言結構/庫/詞彙。這與我問'你怎麼說西班牙語你好'並且你問我我嘗試了什麼?'相似。所以除了在互聯網上搜索結果之外:什麼都不是 – kasavbere

回答

5

在webapp2的,你可以得到一個請求的主機部分,並把它作爲在忍者模板中的參數如下:

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)) 
+0

這就是我所做的。我的客人是'self.request.host'比'self.request.application_url'更準確。但對我而言,這兩方面都足夠了。我仍然在改變你的觀點。謝謝。 – kasavbere

5

webapp2基於WebOb。從他們docs

的WebOb是一個Python庫,提供圍繞WSGI 要求環境包裝,和對象,以幫助創建WSGI響應。該 對象映射多HTTP的指定行爲,包括頭 解析,內容協商和條件以及 範圍請求的正確處理。

訪問application URLrequest對象的處理程序啓用,可以通過屬性application_url訪問:

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