Entwicklungs-Webserver ********************** Nun da Django konfigiriert ist, kannst du dir die ersten Resultate ansehen. Den Entwicklungs-Webserver starten ================================== Zunächst starte Djangos Entwicklungs-Webserver: .. code-block:: bash $ python manage.py runserver Validating models... 0 errors found Django version 1.4, using settings 'cookbook.settings' Development server is running at http://127.0.0.1:8000/ Quit the server with CONTROL-C. Unter der URL http://127.0.0.1:8000/ kannst du dir die Willkommens-Seite von Django ansehen. Die erste eigene Seite ====================== Um eine einfache Seite anzuzeigen, braucht es nur ein paar wenige Schritte. Template anlegen ---------------- Als erstes benötigst du ein Template für deine Website. Erstelle das Verzeichnis :file:`templates` im Projektverzeichnis. Das ist das Verzeichnis :file:`cookbook` mit der Datei :file:`manage.py` darin. Im neuen Verzeichnis erstellst du die Datei :file:`base.html`: .. code-block:: html+django Kochbuch

Kochbuch

URLConf anpassen ---------------- Die einfachste Art ein Template anzuzeigen, ist der ``TemplateView``. Öffne die Datei :file:`cookbook/urls.py` und füge nach Zeile 1 folgenden Code ein:: from django.views.generic.base import TemplateView Außerdem füge am Ende der ``urlpatterns`` folgende Zeile ein:: url(r'^home/', TemplateView.as_view(template_name='base.html')), Danach sieht die Datei so aus:: from django.conf.urls import patterns, include, url from django.views.generic.base import TemplateView # Uncomment the next two lines to enable the admin: # from django.contrib import admin # admin.autodiscover() urlpatterns = patterns('', # Examples: # url(r'^$', 'cookbook.views.home', name='home'), # url(r'^cookbook/', include('cookbook.foo.urls')), # Uncomment the admin/doc line below to enable admin documentation: # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), # Uncomment the next line to enable the admin: # url(r'^admin/', include(admin.site.urls)), url(r'^home/', TemplateView.as_view(template_name='base.html')) ) Du kannst nun wieder den Entwicklungs-Webserver starten und die neue Seite unter http://127.0.0.1:8000/home/ erreichen. Die Admin-Applikation aktivieren ================================ Django bringt eine Admin-Applikation mit, die es dir erlaubt, über ein Web-Interface mit der Datenbank zu interagieren. Anpassen der Konfiguration -------------------------- Entferne in der Datei :file:`settings.py` in ``INSTALLED_APPS`` das Kommentarzeichen vor der Zeile ``'django.contrib.admin',``, um die Admin-Applikation zu aktivieren. URLConf anpassen ---------------- Damit die Admin-Applikation auch im Browser aufgerufen werden kann müssen wir die URL des Admins ebenfalls aktivieren. Öffne dazu die Datei :file:`cookbook/urls.py` und entferne die Kommentarzeichen in den Zeilen 5, 6 und 17. Danach sieht die Datei so aus:: from django.conf.urls import patterns, include, url from django.views.generic.base import TemplateView # Uncomment the next two lines to enable the admin: from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', # Examples: # url(r'^$', 'cookbook.views.home', name='home'), # url(r'^cookbook/', include('cookbook.foo.urls')), # Uncomment the admin/doc line below to enable admin documentation: # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), # Uncomment the next line to enable the admin: url(r'^admin/', include(admin.site.urls)), url(r'^home/', TemplateView.as_view(template_name='base.html')) ) Datenbank synchronisieren ------------------------- Django bringt bereits eine App zur Authentifizierung mit. Um die Datenbank entsprechend einzurichten, führe folgendes Kommando aus .. code-block:: bash $ python manage.py syncdb Creating tables ... Creating table auth_permission Creating table auth_group_permissions Creating table auth_group Creating table auth_user_user_permissions Creating table auth_user_groups Creating table auth_user Creating table django_content_type Creating table django_session Creating table django_site Creating table django_admin_log You just installed Django's auth system, which means you don't have any superusers defined. Would you like to create one now? (yes/no): yes Username (leave blank to use 'vagrant'): admin E-mail address: admin@example.com Password: Password (again): Superuser created successfully. Installing custom SQL ... Installing indexes ... Installed 0 object(s) from 0 fixture(s) .. note:: Weil die in Django enthaltene App zur Authentifizierung zum ersten mal installiert wird, wird auch ein neuer Superuser angelegt. Starte nun erneut den Entwicklungs-Webserver. .. code-block:: bash $ python manage.py runserver Validating models... 0 errors found Django version 1.4, using settings 'cookbook.settings' Development server is running at http://127.0.0.1:8000/ Quit the server with CONTROL-C. Die Admin-Applikation kann unter http://127.0.0.1:8000/admin/ erreicht werden. Die Zugangsdaten entsprechen denen des eben angelegten Superusers. Weiterführende Links zur Django Dokumentation ============================================= * :djangodocs:`Informationen zur Admin-Applikation `