Django Installation


Django

Wie ich kürzlich schon schrieb, möchte ich eine Artikelserie über das Python Web Framework Django starten. Anfangen möchte ich dabei mit der Installation des Framework auf einem Linux Server, welches wohl auch die am meisten verwendete Kombination sein dürfte.

Django wurde urspünglich als Grundlage eines kommerziellen Backends (Ellington) für eine Onlinezeitung entwickelt und im Juli 2005 als Open Source unter einer BSD Lizenz veröffentlicht. Die Kernkomponenten des Frameworks sind:

  • Objektrelationale Definition der eigenen Datenmodelle
  • Eine eingebaute Administrationsoberfläche für alle Datenmodelle, auf eigene Bedürfnisse anpassbar in Funktion und Design
  • Elegante, saubere, aussagekräftige URL Definitionen, keine kryptischen Zahlenkolonnen die sich niemand merken kann (Suchmaschinen und Leser danken!)
  • Eigene, leicht zu erlernende und sinnvolle Template-Sprache (inklusive Vererbung von Templates)
  • Caching ist bereits eingebaut, aber nur wenn man es möchte und für welche Teile man es möchte
  • Internationalisierung von Webprojekten wird direkt unterstützt
Um diesem Beispiel folgen zu können benötigt man natürlich auch ein paar Dinge. Zum Beispiel sollte man einen Linux Server haben, Python sollte bereits installiert sein und Grundkenntnisse darin sollte man auch haben. Zumindest hilft es ungemein, die Beispiele ein wenig zu verstehen. Wenn man nicht sicher ist, ob Python bereits installiert ist oder welche Version installiert ist, kann man dies mit einem 'python -V' herausfinden. Django selbst benötigt mindestens Python 2.3, welches man in jeder aktuellen Distribution vorfindet. Unter Debian Stable (Sarge) ist es auch schon die Version 2.3, und Sarge ist nun nicht gerade für die neuesten Pakete bekannt. Unter Debian Testing (Etch) ist mittlerweile die sogar weiter verbreitete Python 2.4 zu bekommen. Natürlich kann man auch direkt das Paket von python.org holen und sich selbst compilieren/installieren.

In diesem Artikel beschreibe ich die Installation der Django Entwicklerversion, die die Versionsnummer 0.95 tragen wird, derzeit aber noch als nicht stabil markiert ist. Dies ist vorwiegend deshalb, weil sich die API noch mal ändern könnte, auch wenn es nicht sehr warscheinlich ist. Die aktuelle Version auf der Homepage ist noch die 0.91. Allerdings wird die Version 0.95 einige Änderungen bringen die eine Anpassung des eigenen Sourcecode nötig machen würde. Deshalb setze ich gleich auf Version 0.95 auf. Im Übrigen wird es warscheinlich auch nicht mehr lange dauern bis die 0.95 als stable veröffentlicht wird. Die Entwicklerversionen selbst laufen allerdings auch sehr stabil, ich habe noch keine negativen Erfahrungen damit gemacht. Ich beschreibe die Schritte auf einer Debian Sarge.

Download und Installation des Django Framework direkt aus dem Subversion Repository:

  1. span style="color: #666666; font-style: italic;"># svn co http://code.djangoproject.com/svn/django/trunk/ django_src
  2. # cd django_src
  3. # python setup.py install

Nach der Installation sollte also unter /usr/lib/python2.3/site-packages/ entweder ein Verzeichnis mit dem Namen 'django' existieren oder aber ein Symlink auf ein solches Verzeichnis, das zum Beispiel auch unter /usr/lib/django_src liegen kann. Hat man das Verzeichnis direkt aus Subversion kopiert, kann man jederzeit seine Installation mit einem 'svn update' aktualisieren, sofern man im Hauptverzeichnis der Django-Installation steht.

Django Admin Tool

Dort existiert auch das Django-Administrationstool 'django-admin.py'. Mit Hilfe dieses Tools kann man seine Projekte verwalten. Ein kleiner Auszug aus der Hilfe ('django-admin.py --help'):

  1. span style="color: #666666; font-style: italic;"># /usr/lib/django_src/django/bin/django-admin.py --help
  2.  

Damit ist Django installiert und wartet ungeduldig auf seinen ersten Einsatz. Das erste Projekt anlegen und eine Applikation starten werde ich im nächsten Teil dieser Serie.

Vote for articles fresher than 30 days!
Derzeitige Beurteilung: none, 0 Stimme(n) 11999 hits
Defined tags for this entry: , , ,
tweetbackcheck

Comments

Display comments as (Linear | Threaded)

  1. Uwe Wagner says:

    Hallo,

    es wäre nett, wenn sich jemand findet, der eine Installationsanleitung für WinXP schreibt.

    Möglichst auch unter Berücksichtigung, daß der Internet Zugang während der Installation nicht zur Verfügung steht (Firewall).

    U.W.

  2. Marco says:

    gute Idee. Unter Windows finde ich die Installation eher noch einfacher als unter Linux - ich schreibe die Tage dann mal eine Anleitung dazu.

  3. Uwe Wagner says:

    Na, wirds denn :-)

    Im Ernst: stehe vor der Entscheidung für ein Projekt ein Framework nutzen zu müssen.

    Mit dem bisher verwendeten php bin ich nicht mehr so glücklich. Würde gern auch ein Python basiertes Framework prüfen (auch weil unsere EDV python unterstützt).

    Und nun frisch ans Werk ...

    Uwe

  4. Andreas says:

    es geht auch einfacher mit "dpkg -i" und den packages python-django und python-support

  5. Marco says:

    sofern man eine debian unstable benutzt, ja.

  6. Pascal says:

    Netter Artikel - noch netter würde er werden, wenn du erzählen würdest, wie man Python(-Frameworks) auf Produktionsservern einsetzt. Mich würde sehr interessieren, wie ich "meine Python Website" auf meinem Linux-Server (Apache als Webserver) zum Laufen bekomme. Benutze ich FastCGI oder mod_python? Oder verwende ich gar einen zweiten Webserver, auf den Apache redirectet? Worauf muss ich beim Transfer der Entwicklungsversion auf den Produktionsserver achten? Usw... :-)

  7. Marco says:

    Zumindest ein Teil der von dir angesprochenen Themen folgt im nächsten Teil. Der kommt bald :-).


Add Comment


Standard emoticons like :-) and ;-) are converted to images.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.
To leave a comment you must approve it via e-mail, which will be sent to your address after submission.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

You can use [geshi lang=lang_name [,ln={y|n}]][/geshi] tags to embed source code snippets.
BBCode format allowed