2011-07-13 28 views

回答

4

Django過濾器沒有被賦予任何特定的訪問上下文的權限,它們只是普通的舊函數。

你需要傳遞任何你想在函數中使用的東西。

https://docs.djangoproject.com/en/dev/howto/custom-template-tags/

+1

傷心。我想我總是可以使用中間件或模板上下文處理器來設置線程本地,但是......糟糕。 – dcrosta

+2

雖然首先感覺PITA,但使用'@ register.simple_tag(takes_context = True)'替換模板標籤的過濾器非常簡單' –

0

見我的答案在這裏:

https://stackoverflow.com/a/28098279/201945

但是,總之,你可以當從調用堆棧中提取訪問它從一個自定義過濾器內的context,只有當,渲染過程中調用過濾器。

這是一個偶然的解決方案。買者自負。

相關問題