Nanomobil fährt auf Gold: Die aus Kohlenstoff, Sauerstoff und Wasserstoff bestehende Struktur ist rund drei Nanometer breit und zwei Nanometer lang. Und da sag nochmal jemand die Japanischen Autos wären klein ...
Archiv 22. Oktober 2005
to flock - zusammenrotten
Ich weiss nicht, ob das obige so das richtige Motto für mich ist. Bookmarks in del.icio.us. Bilder in Flickr. Irgendwie hab ich das Zeug lieber bei mir als bei irgendwelchen zentralen Hostern.
Was sie aber richtig machen: automatisches Indizieren von Seiteninhalten, so das man die auch wiederfindet. Gäbs das ganze dann auch noch in einer OS X Version bei der der Browser auch wirklich eine OS X Anwendung ist (und nicht nur eine auf OS X lauffähige Anwendung), könnte das wirklich reizvoll sein.
Version Control with SVK
Version Control with SVK ist ein Online-Buch über SVK - ein verteiltes Versionssystem, das sehr gut mit SVN und CVS (unter anderem) harmoniert. Und gerade für die Arbeit mit Patches für Upstream-Systeme und für lokale Forks von Open Source Software eine ziemliche Erleichterung bietet.
Das Buch ist alles andere als Komplett, aber man findet schon eine ganze Menge an Informationen darin.
Sehr einfache Ansichtsfunktionen
Manchmal hast du eine ganze Reihe von wirklich einfachen View-Funktionen in deinem Django-Projekt (ja, das ist für dich, bitprophet!). View-Funktionen, die eigentlich nicht mehr sind als ein einfacher Render-to-Response-Aufruf - nimm eine Vorlage, nimm einige Daten aus der Anforderung, packe sie hinein und rendere eine Antwort. Es ist eher langweilig, sie aufzuschreiben, und es verletzt das DRY-Prinzip. Was also tun? Schreibe deine eigene generische Ansicht.
from django.core.extensions \
import render_to_response
def simple_view(request, template, **kwargs):
return render_to_response(
template, kwargs)
Das ist alles. Eine einfache und schöne View-Funktion, die genau das tut - eine Vorlage rendern. Sie kann sogar mit Kontextvariablen aus dem URL-Muster gefüttert werden. Verwende es wie folgt in deiner URL-Konfiguration:
urlpatterns = patterns('',
(r'^page/(?P<arg>.*)/$', 'cool.simple_view',
{'template': 'app/mytemplate'}),
)
Auf diese Weise wird eine /page/foo/ Ansicht an die Vorlage 'app/mytemplate' mit einem Kontext geroutet, der nur die Variable 'arg' mit dem Wert 'foo' enthält. Und du wirst nie wieder diese einfachen View-Funktionen schreiben müssen. Für extra Würze könntest du einen context_instance = DjangoContext(request) in den Render-to-Response-Aufruf werfen, um sogar den authentifizierten Benutzer und so weiter aus der Anforderung zu erhalten.