Вот шаблон для ежемесячного архива (блога). Обратите внимание, что переменная {{ month }}
дает мне полную дату первого дня месяца, например, 1 августа 2011 г. Как я могу сделать вывод переменной только за месяц (например, август)?
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Monthly Archive</title>
</head>
<body>
<h1>Monthly Archive - {{ month }}</h1>
{% for entry in object_list %}
<p><a href="{{ entry.get_absolute_url }}">{{ entry.title }}</a></p>
{% endfor %}
</body>
</html>
Вот страница URL:
entry_info_dict = {
'queryset': Entry.objects.all(),
'date_field': 'pub_date',
}
urlpatterns = patterns('',
(r'^weblog/(?P<year>\d{4})/(?P<month>\w{3})/(?P<day>\d{2})/(?P<slug>[-\w]+)/$', 'django.views.generic.date_based.object_detail', entry_info_dict),
(r'^weblog/(?P<year>\d{4})/$',
'django.views.generic.date_based.archive_year',
entry_info_dict),
(r'^weblog/(?P<year>\d{4})/(?P<month>\w{3})/$',
'django.views.generic.date_based.archive_month',
entry_info_dict),
(r'^weblog/(?P<year>\d{4})/(?P<month>\w{3})/(?P<day>\d{2})/$',
'django.views.generic.date_based.archive_day',
entry_info_dict),
(r'^weblog/$', 'django.views.generic.date_based.archive_index',
entry_info_dict),)
UPDATE
Хорошо, я понял, как фильтровать только месяц. Я должен использовать {{ month|date:"F" }}
вместо просто {{ month }}
. Тем не менее, я не знаком с синтаксисом здесь. Почему это "F"?