Ein neues Projekt beginnen

Nachdem nun alle Vorbereitungen getroffen wurden, um mit Django und Python zu arbeiten, kann das erste Projekt beginnen.

Ein Verzeichnis für alle Python Projekte

Zuerst erstellst du ein Verzeichnis für dies und alle zukünftigen Projekte:

$ mkdir pythonprojects

Es ist sinnvoll, alle Python Projekte in einem Verzeichnis zu haben.

Das Django Projekt erstellen

Jetzt werden wir das Django Projekt erstellen. Es soll ein Kochbuch werden, also nennen wir das Projekt cookbook.

Wechsel nun in das neu erstellte Verzeichnis und erstelle ein Django Projekt:

$ cd pythonprojects
$ django-admin.py startproject cookbook

Bemerkung

Unter Windows kann es nötig sein, dass den kompletten Pfad zu django-admin.py angeben musst:

C:\pythonprojects> python C:\virtualenvs\django-workshop\Scrips\django-admin.py startproject cookbook

Dein neues Projekt wurde erstellt. Das Verzeichnis cookbook enthält erstmal nicht viel:

cookbook # Projektverzeichnis
|-- cookbook # Konfigurationsverzeichnis
|   |-- __init__.py
|   |-- settings.py
|   |-- urls.py
|   `-- wsgi.py
`-- manage.py

Das erste Verzeichnis cookbook ist das Projektverzeichnis. Es enthält die Datei manage.py, die du benutzen wirst, um dein Projekt zu verwalten. Auf dieses Verzeichnis wird in allen anderen Kapiteln mit Projektverzeichnis Bezug genommen.

Außerdem enthält es das Python Paket cookbook innnerhalb des Projektverzeichnisses mit der zentralen Konfiguration für das Django Projekt. Dies wird durch die leere Datei __init__.py angezeigt. Die Datei settings.py enthält alle Einstellungen deines Projekts. In urls.py sind die regulären Ausdrücke enthalten, um einen URL zum richtigen View zu leiten. Dazu später mehr. wsgi.py definiert die WSGI Applikation, die später beim Deployment benötigt wird. Auf dieses Verzeichnis wird in allen anderen Kapiteln mit Konfigurationsverzeichnis Bezug genommen.

Anpassen der Konfiguration

Damit wir mit dem Projekt arbeiten können muss als erstes die Konfiguration angepasst werden. Dazu öffnest du die Datei settings.py in einem Texteditor.

Damit wir das Arbeitsverzeichnis nicht mehrfach in die Konfiguration eintragen müssen ermitteln wir er dynamisch und speichern es in einer “Konstanten”:

import os

SITE_ROOT = os.path.realpath(os.path.dirname(__file__))

Bemerkung

In Python sind Bezeichner in Grossbuchstaben per Konvention Konstanten.

Nun konfigurieren wir die Datenbankverbindung. Wir werden eine SQLite Datenbank benutzen, da ein sqlite3 Paket ab der Version 2.5 in Python enthalten ist.

Wenn du Python 2.4 benutzt musst du selbst ein Paket für SQLite installieren.

Konfiguriere die Datenbankverbindung default wird folgt:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(SITE_ROOT, '..', 'cookbook.db'),
        'USER': '',
        'PASSWORD': '',
        'HOST': '',
        'PORT': '',
    }
}

Als nächstes passen wir Zeitzone und Sprache an:

TIME_ZONE = 'Europe/Berlin'

LANGUAGE_CODE = 'de'

Als letztes muss der Pfad zu den Templates definiert werden:

TEMPLATE_DIRS = (
    os.path.join(SITE_ROOT, '..', 'templates'),
)

Das Verzeichnis für die Templates erzeugen wir später in der Wurzel des Projekts. Deshalb benutzen wir wieder den zu Beginn definierten Pfad als Präfix.

Bemerkung

Es wäre auch möglich die Templates außerhalb des Projekts zu speichern. Dazu muss der Pfad auf dieses Verzeichnis verweisen.

Inhalt

Vorheriges Thema

Erste Schritte mit Django

Nächstes Thema

Die erste Applikation

Diese Seite