Django:我可以将模板变量的输出映射到另一个字符串吗?

时间:2012-06-21 17:10:10

标签: django django-templates

我正在使用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指向正确的网址。

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

1 个答案:

答案 0 :(得分:1)

您可以将the built-in date template tagb格式字符一起使用 以下应用示例:

<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>