我正在使用Django的通用视图,特别是django.views.generic.date_based.archive_month
。
此视图将模板上下文设置为包含date_list
,其中包含相关python datetime.datetime
对象的列表。 (见https://docs.djangoproject.com/en/1.4/ref/generic-views/#django-views-generic-date-based-archive-month)
这是我使用此视图的简单模板:
<html>
<head>
<title>Entries index</title>
</head>
<body>
<h1>Entries index by month: {{ month|date:"F" }}</h1>
<h2>Day:</h2>
{% for datetime_object in date_list %}
<ul><a href="/weblog/{{ year }}/{{ month.month }}/{{ datetime_object.day }}/">{{ datetime_object.day }}</a></ul>
{% endfor %}
</body>
</html>
我的问题是虽然我可以获得数字月份,例如3表示行军,我的网址设置为使用三个字母表示,即mar
进行游行,以便<a href=
阻止isn& #39; t指向正确的网址。
如何设置映射以将每个月的数值映射到三个字母的表示形式?
答案 0 :(得分:1)
您可以将the built-in date
template tag与b
格式字符一起使用
以下应用示例:
<ul>
<!-- whitespace added below solely for readability
I do not recommend adding such whitespace in your code -->
<a href="/weblog/{{ year }}/{{ month|date:"b" }}/{{ datetime_object.day }}/">
{{ datetime_object.day }}
</a>
</ul>