Django Jahr / Monat basierte Beiträge Archiv

Ich bin neu in Django und habe eine Anwendung gestartet. Ich habe die Modelle, Ansichten und Vorlagen erstellt, aber ich möchte dem Ende der Seite eine Art Archiv hinzufügenhttp://www.flickr.com/photos/ionutgabriel/3990015411/.

Deshalb möchte ich alle Jahre und alle Monate dieses Jahres auflisten. Die Monate, die Posts haben, um Links und andere Nr. Zu sein. Außerdem möchte ich die Monatsnamen übersetzen, weil ich sie auf Rumänisch brauche.

Was ich bisher gemacht habe ist:

aus meiner Sicht:

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

und in meiner Vorlage:

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

das ergibt so etwas wie:

       2008               10 
       2009               10               9 
       2007               10 

aber ich kann sie überhaupt nicht sortieren ... nach Jahr oder nach irgendetwas, und ich weiß auch nicht, wie ich alle Monate (die Namen) hinzufügen soll, ich möchte sie so:

   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

mit Link zu den Monaten, die Einträge haben.

Danke für deine Hilfe!

p.s. Entschuldigung für mein Englisch

LE: Vielleicht habe ich die Frage falsch gestellt, ich weiß, wie man Daten erhält, aber ich weiß nicht, wie man sie so formatiert, dass sie so aussehen:

   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

Alles, was ich bekommen kannarch = Post.objects.dates('date', 'month', order='DESC')

mit

{{ archives }} in template ist so etwas wie:

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

dann habe ich eine Schleife ausprobiert:

{% for archive in archives %}

{{ archive }} <br />

{% endfor %}

und bekam:

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

Danach probiert man so etwas:

{% for archive in archives %}

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

{% endfor %}

und bekam:

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

Hier stecke ich fest und weiß nicht, wie ich die Daten formatieren soll, damit ich eindeutige Jahre mit allen Monaten und nur den Monaten erhalten kann, die Einträge haben, um Links zu sein ...

Irgendwelche Ideen?

Danke im Voraus!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage