Архив сообщений на основе года / месяца

Я новичок в Django и запустил приложение, я сделал модели, представления, шаблоны, но я хочу добавить какой-то архив в нижней части страницы, что-то вроде этогоhttp://www.flickr.com/photos/ionutgabriel/3990015411/.

Поэтому я хочу перечислить все годы, а рядом с ними все месяцы этого года. Месяцев, у которых есть посты, чтобы быть ссылками, а других нет. Также я хочу перевести названия месяцев, потому что они мне нужны на румынском языке.

Что я сделал до сих пор:

с моей точки зрения:

def archive(request): 
    arch = Post.objects.dates('date', 'month', order='DESC') 

    archives = {} 
    for i in arch: 
        tp = i.timetuple() 
        year = tp[0] 
        month = tp[1] 
        if year not in archives: 
            archives[year] = [] 
            archives[year].append(month) 
        else: 
            if month not in archives[year]: 
                archives[year].append(month) 
    return render_to_response('blog/arhiva.html', {'archives':archives}) 

и в моем шаблоне:

    {% for years, months in archives.items %} 
                    {{ years }} 
                    {% for month in months %} 
                   <a href="{{ years }}/{{ month }}">{{ month }}</a> 
                    {% endfor %} 
            <br /> 
                {% endfor %} 

это возвращает что-то вроде:

       2008               10 
       2009               10               9 
       2007               10 

но я не могу отсортировать их вообще ... по годам или по чему-либо, а также я не знаю, как добавить все месяцы (имена), я хочу, чтобы они были такими:

   2009 Ian Feb Mar Apr Mai Iun Iul Aug Sept Oct Noi Dec       
   2008 Ian Feb Mar Apr Mai Iun Iul Aug Sept Oct Noi Dec
   2007 Ian Feb Mar Apr Mai Iun Iul Aug Sept Oct Noi Dec

со ссылкой на месяцы, у которых есть записи.

Спасибо за помощь!

постскриптум Извините за мой английский

Л.Э .: Может быть, я поставил вопрос неправильно, я знаю, как получить даты, но я не знаю, как их отформатировать, чтобы они выглядели так:

   2009 Ian Feb Mar Apr Mai Iun Iul Aug Sept Oct Noi Dec       
   2008 Ian Feb Mar Apr Mai Iun Iul Aug Sept Oct Noi Dec
   2007 Ian Feb Mar Apr Mai Iun Iul Aug Sept Oct Noi Dec

все, что я могу получить отarch = Post.objects.dates('date', 'month', order='DESC')

с участием

{{ archives }} в шаблоне это что-то вроде:

[datetime.datetime(2009, 10, 1, 0, 0), datetime.datetime(2009, 9, 1, 0, 0),
 datetime.datetime(2008, 10, 1, 0, 0), datetime.datetime(2007, 10, 1, 0, 0)]

тогда я попробовал цикл:

{% for archive in archives %}

{{ archive }} <br />

{% endfor %}

и получил:

2009-10-01 00:00:00 
2009-09-01 00:00:00 
2008-10-01 00:00:00 
2007-10-01 00:00:00 

После этого попробовал что-то вроде этого:

{% for archive in archives %}

{{ archive|date:"Y: m" }} <br />

{% endfor %}

и получил:

2009: 10 
2009: 09 
2008: 10 
2007: 10 

Здесь я застрял и не знаю, как отформатировать данные, чтобы я мог получать разные годы со всеми месяцами и только месяцами, у которых есть записи, которые будут ссылками ...

Есть идеи?

Заранее спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос