我有一個帶有通常樣板鏈接的jinja模板,其中一個是「註銷」鏈接。在渲染頁面之前,必須使用Users.create_logout_url()生成此鏈接的URL。Tipfy&Jinja:爲每個頁面創建一個註銷URL
我想避免必須生成此URL並將其添加到我的render_response爲每個單一的get/post處理程序。我已經研究過替代品,但還沒有找到一個有效的方法來解決這個問題。
BaseRequestHandler
這似乎是最乾淨的做法,但我不知道該如何去做。難道是
self.vars['logout_link'] = users.create_logout_url(self.request.path))
..和隨後的情況下,在所有的標準響應處理程序:
return render_response('template.html', **vars)
?
裝飾
這似乎是另一種選擇,雖然看起來略顯凌亂。我想它會以相同的方式工作(將註銷鏈接分配給包裝函數中的局部變量)。
上下文處理?
我使用tipfy/jinja,據我所知,似乎並不支持這一點。
任何意見,我應該進一步調查的路徑?
感謝
這似乎是將'globals'添加到render_response的最佳方式 - 謝謝! – Cerzi
作爲獎勵,這是保持模板渲染干燥的絕佳方式。當我複製了幾行代碼來佈置基本的網站結構時,我知道我做錯了什麼。 – Anna