Archiwum postów Django na rok / miesiąc

jestem nowy w Django i uruchomiłem aplikację, zrobiłem modele, widoki, szablony, ale chcę dodać jakieś archiwum na dole strony, coś takiegohttp://www.flickr.com/photos/ionutgabriel/3990015411/.

Chcę więc wymienić wszystkie lata, a następnie wszystkie miesiące z tego roku. Miesiące, które mają posty jako linki, a inne nie. Chcę też przetłumaczyć nazwy miesięcy, ponieważ potrzebuję ich w języku rumuńskim.

Do tej pory zrobiłem:

według mnie:

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

iw moim szablonie:

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

to zwraca coś takiego:

       2008               10 
       2009               10               9 
       2007               10 

ale nie mogę ich w ogóle posortować ... przez rok lub przez cokolwiek, a także nie wiem, jak dodać wszystkie miesiące (nazwy), chcę, żeby były takie:

   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

z linkiem do miesięcy, które mają wpisy.

Dziękuję za pomoc!

p.s. przepraszam za mój angielski

LE: Może postawiłem pytanie w niewłaściwy sposób, wiem, jak uzyskać daty, ale nie wiem, jak je sformatować, aby wyglądały tak:

   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

wszystko, co mogę uzyskaćarch = Post.objects.dates('date', 'month', order='DESC')

z

{{ archives }} w szablonie jest coś w stylu:

[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)]

wtedy spróbowałem pętli:

{% for archive in archives %}

{{ archive }} <br />

{% endfor %}

i dostał:

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

Następnie spróbuj czegoś takiego:

{% for archive in archives %}

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

{% endfor %}

i dostał:

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

Tutaj utknąłem i nie wiem, jak sformatować dane, więc mogę uzyskać wyraźne lata ze wszystkimi miesiącami i tylko miesiącami, które mają wpisy do linków ...

Jakieś pomysły?

Z góry dziękuję!

questionAnswers(3)

yourAnswerToTheQuestion