如何更改默认的Django日期模板格式?

时间:2011-10-12 08:22:28

标签: django django-templates

我在db中的isoformat中有日期,%Y-%m-%d但是当日期传递给模板时,它会像Oct. 16, 2011那样出现。

无论如何,我可以将格式操作到我想要的任何位置吗?

9 个答案:

答案 0 :(得分:228)

在模板中,您可以使用Django的date过滤器。 E.g:

<p>Birthday: {{ birthday|date:"M d, Y" }}</p>

给出:

  

生日:1983年1月29日

date filter docs中的更多格式示例。

答案 1 :(得分:46)

答案 2 :(得分:23)

同时设置DATE_FORMATUSE_L10N

要在Django 1.4.1中对整个站点进行更改,请添加:

DATE_FORMAT = "Y-m-d"

到您的settings.py文件并编辑:

USE_L10N = False

因为l10n会覆盖DATE_FORMAT

记录于:https://docs.djangoproject.com/en/dev/ref/settings/#date-format

答案 3 :(得分:13)

只需使用此

{{you_date_field|date:'Y-m-d'}}

这将显示类似于2016-10-16的内容 您可以根据需要使用该格式。

答案 4 :(得分:6)

您需要的是date template filter

例如:

<td>Joined {{user.date_created|date:"F Y" }}<td>

这将返回Joined December 2018

答案 5 :(得分:5)

要更改views.py中的日期格式,然后将其指定给模板。

# get the object details 
home = Home.objects.get(home_id=homeid)

# get the start date
_startDate = home.home_startdate.strftime('%m/%d/%Y')

# assign it to template 
return render_to_response('showme.html' 
                                        {'home_startdate':_startDate},   
                                         context_instance=RequestContext(request) )  

答案 6 :(得分:2)

如果您需要显示较短的日期和时间(2018年11月8日上午03:23),您可以这样操作:

{{your_date_field|date:"SHORT_DATE_FORMAT"}} {{your_date_field|time:"h:i a"}}

此标签here的详细信息以及根据给定格式here的日期的更多信息

示例:

<small class="text-muted">Last updated: {{your_date_field|date:"SHORT_DATE_FORMAT"}} {{your_date_field|time:"h:i a"}}</small>

答案 7 :(得分:0)

{{yourDate|date:'*Prefered Format*'}}

示例:

{{yourDate|date:'F d, Y'}}

首选格式:https://docs.djangoproject.com/en/3.1/ref/templates/builtins/#date

答案 8 :(得分:0)

如果在 Django 模板中调用 Date 值时出错,试试这个

{{ViewfieldValue.CreateModelValue|date:"M d, Y" }}