我正在使用timeuntil標記顯示項目到期日期。它是目前隨地吐痰......更好地控制Django timeuntil輸出嗎?
{{rental_till|timeuntill}}
將會產生...
3 months, 1 week
是否有可能得到它只是顯示,月份,例如?或者對輸出格式進行任何類型的更精細的控制,類似於date標籤。
我正在使用timeuntil標記顯示項目到期日期。它是目前隨地吐痰......更好地控制Django timeuntil輸出嗎?
{{rental_till|timeuntill}}
將會產生...
3 months, 1 week
是否有可能得到它只是顯示,月份,例如?或者對輸出格式進行任何類型的更精細的控制,類似於date標籤。
要僅顯示月份,您可以使用write a simple template filter將逗號分割爲字符串,並返回結果列表的第一項。該過濾器的代碼應該是這樣的:
from django.template import Library
register = Library()
@register.filter
def split_timeuntil(duration):
return duration.split(",")[0]
然後在你的模板:{{rental_till|timeuntil|split_timeuntil}}
然而,timeuntil
過濾器不具備那種格式date
有。您可以通過複製django/template/defaultfilters.py
和django/utils/timesince.py
中的timeutil
代碼輕鬆創建自定義過濾器,以返回所需的格式。
不,timeuntil
沒有任何選項,但您可以根據timeuntil
簡單地創建自己的模板標籤,並使其隨心所欲。請參閱:https://code.djangoproject.com/browser/django/tags/releases/1.3/django/template/defaultfilters.py(行729)
太好了,謝謝。 –
靈感來源於您的方法,我創建了一個更靈活的方法:https://gist.github.com/george-silva/6d13219cb23f3fa3f978 –