Archiv 6. Sept. 2005

Alles nur geklaut

CDU gesteht: Merkel schrieb bei Reagan ab:

Ja, das Schluss-Statement von Unions-Kanzlerkanidatin Angela Merkel beim TV-Duell mit Bundeskanzler Gerhard Schröder war an eine Rede des früheren US-Präsidenten Ronald Reagan angelehnt.

Soso, nicht mal das eigene Lobhudeln und Rumblähen kann sie selber. Darf sowas Kanzler werden?

Django-Galerie-Status

Erneut Neuigkeiten von meinem Galerie-Projekt - es macht gute Fortschritte, auch wenn einige meiner neuesten Arbeiten nicht direkt sichtbar sind. Ich habe viel an dem Code gearbeitet und viele Änderungen an der Admin-Oberfläche vorgenommen. Dinge im Quellcode, die für andere Djangonistas interessant sein könnten:

  • Ich habe immer noch eine vollständig dateisystembasierte Galerie - aber ich habe einen im Datenbank gespeicherten Cache hinzugefügt. Wenn nun Inhalte vom Dateisystem geladen werden, prüft der Code direkt seinen Datenbank-Cache und aktualisiert diesen entsprechend. Dies führte zu einer umfangreichen Überarbeitung des Codes, so dass nun tatsächlich alles durch Modellobjekte gesteuert wird - die Cache-Einträge sind nur Teil des Django-Modells. Dadurch wird der Code viel einfacher und ermöglicht die nächsten beiden Änderungen.
  • Ich habe eine automatische Sitemap für Galerien hinzugefügt. Die ersten Versionen durchsuchten das Dateisystem, aber jetzt verwendet es einfach den Datenbank-Cache, um eine Ordnerhierarchie mit Miniaturansichten zu erstellen.
  • Ich habe RSS-Unterstützung hinzugefügt. Die Hauptgalerie-Auswahl verweist auf einen RSS-Feed über alle Galerien und die Ordner- und Bildansichten innerhalb einer Galerie verweisen auf einen RSS-Feed nur für Bilder innerhalb dieser Galerie. Dies macht von dem RSS-Framework von Django Gebrauch.
  • Die Ansicht, die Galerie-Ordner und Bilder anzeigte, wurde überarbeitet, um viel mehr von Django-ähnlichen Dingen Gebrauch zu machen: anstatt von Lazy Closures, die an die Vorlage übergeben werden, verwende ich nun benutzerdefinierte Vorlagen, die helfen, den Code der Ansicht drastisch zu reduzieren (ok, der Code wird in die Taglib verschoben, aber das ist eine viel bessere Entkopplung als zuvor).

Das Ergebnis: Die Galerie ist viel schneller, ich habe RSS laufen und habe automatische Sitemaps. Der Code selbst ist viel einfacher, da er modellgetriebener ist - der frühere Konflikt zwischen Bildordner-Modell-Dingen auf der einen Seite und FSObject-Instanzen auf der anderen Seite ist verschwunden - und die Cache-Wartung ist automatisch. Und die XMLRPC-Integration ist auch viel schneller. Alles in allem einige sehr nützliche interne Änderungen.

Andere Änderungen gibt es in der Verwaltungs-Oberfläche, wo Sie nun nicht nur die AJAX-Funktionen zum Ändern von Objektnamen und dem versteckten Zustand haben, sondern dies auch über einen Dateimanager tun können. Dieser Dateimanager wird auch um einfache Verwaltungsfunktionen wie Verschieben, Löschen usw. erweitert. Er kann bereits neue Ordner erstellen.