1

我正在使用 Django 的通用视图,特别是django.views.generic.date_based.archive_month.

此视图将模板上下文设置为包含date_list其中包含相关 pythondatetime.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=块没有指向正确的网址。

如何设置映射以将每个月的数值映射到它们的三个字母表示?

4

1 回答 1

1

您可以使用带有格式字符的内置date模板标签。 应用示例如下: 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>
于 2012-06-21T22:16:37.837 回答