2017-03-05 77 views
1

我正在研究Django中的templatetag,它應該關注一些日期和時間格式。在Django模板標籤內部本地化日期時間

我希望日期能以荷蘭文顯示,但它會一直以英文顯示。

從Django中導入模板

寄存器= template.Library()

@register.filter() 
def get_date_string(event): 
    if event.date_type == 1: 
     retval = event.date_1.strftime("%-d %B %Y") 
     if event.date_1_starttime is not None: 
      retval += " van " + event.date_1_starttime.strftime("%H:%M") 
     if event.date_1_endtime is not None: 
      retval += " tot " + event.date_1_endtime.strftime("%H:%M") 

     return retval 

按照Python documentation%B應提供本地化的月份全名。

在模板我只是用:

{{ object|get_date_string }} 

我希望有人能幫助我與此有關。

+0

你可以附加你的'settings.py'文件嗎?我認爲由於LANGUAGE設置,它會繼續以英語返回 – Marco

回答

0

感謝this answer我能夠正常工作。

這是我的最終解決方案:

from django import template 
from django.template.defaultfilters import date as _date 

register = template.Library() 


@register.filter() 
def get_date_string(event): 
    if event.date_type == 1: 
     retval = _date(event.date_1) 
     if event.date_1_starttime is not None: 
      retval += " vanaf " + event.date_1_starttime.strftime("%H:%M") 
     if event.date_1_endtime is not None: 
      retval += " tot " + event.date_1_endtime.strftime("%H:%M") 

     return retval 

我所做的只是使用Django的日期過濾器做的日期格式我。