[Berlin-wireless] olsrexperiment-template für joomla

Daniel Poelzleithner poelzi
Mi Apr 12 08:02:28 CEST 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Martin Mueller wrote:

> Ueber Geschmack laesst sich nicht streiten. Hast Du noch technische
> Argumente in Petto? Die waeren interessant, abgesehen von Python
> interessiere ich mich naemlich auch fuer django.

Django ist so ziemlich das best durchdachteste Framework das ich je
gesehen hab. Z.B braucht man so gut wie nie SQL schreiben. Man definiert
ein Model, das die Daten repräsentiert. Anschließend kann man über das
Model auf daten zugreifen, anlegen und verändern.

z.B.

class Page(models.Model):
  title = models.CharField(max_length=50, null=False, blank=False)
  text = models.TextField(blank=True, null=True)
  # zusätzlich
  class Meta:
    # hier kann man das Object genauer beschreiben
    verbose_name = "MyPage"
    verbose_name_plural = "MyPages"

  # wenn eine Admin subclasse existiert, werde automatisch die Admin
seiten generiert. Hier lässt sich z.B. noch filter einstellen, etc...
  class Admin:
    pass


Neue Seite anlegen:

p = Page(title="Eine Seite", text="Bla bla")
p.save() # und schon ists in der datenbank :) 0 sql
p.title = "Anderer Title"
p.save() # und upgedatet

suchen ist auch super:

x = Page.objects.filter(title="Eine Seite")[0]

p == x
False

Page.objects.filter(title="Anderer Title")[0] == p
True

:) Geht natürlich noch viel mehr...

Die Einstiegkurfe ist deutlich besser als bei Zope. Ich kenne Zope
(zumindest in der 2.x variante) und fande es einfach viel zu langwierig
einfache Sachen zu erledigen. Dann fande ich die vielen verschiedenen
Templatesprachen ziemlich nervig, und z.B. eine Email aus dem Template
generieren wahr auch eher mühsam. Und schlecht Dokumentiert und durch
den Codeberg wollte ich mich nicht quälen.

Noch etwas zur Anzeige. In Django sind Views für Anzeigen verantwortlich:

Ich definiere eine regexp in urls.conf, welcher pfad auf welche view
gemappt werden soll:

urlpatterns = patterns('',
    ('^doc/$', 'python.path.zur.view.index'),
    ('^doc/(?P<bla>.*)$', 'python.path.zur.view.details'),
)

http://host/doc/blubb erzeugt einen Aufruf von der Funktion details mit
dem Argument bla='blubb'. Somit kann man urls einmal definieren, und
selbst wenn mans umschreibt gehen die alten Urls noch wie vorher.

Das sind so einige der netten Sachen die einem das Leben echt
verbessern, aber es bietet natürlich noch viel mehr ohne dabei überladen
zu sein. Die Django entwickler achten sehr darauf, daß es sehr sauber
ist und nicht aufgeblasen wird.

Liebe Grüße
 Daniel
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: GnuPT 2.7.2
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFEPJfzy/mkIQp7AD0RAqVQAKDAho24GGVLOtWCcHULUhGeB6zAJQCg04jN
jb8LRe6pDzvx/MTwZMHg0yI=
=bvKF
-----END PGP SIGNATURE-----

_______________________________________________
Berlin mailing list
Berlin at olsrexperiment.de
https://www.olsrexperiment.de/cgi-bin/mailman/listinfo/berlin





Mehr Informationen über die Mailingliste Berlin