MyGear - Startseite erstellen
Jedes Web-Projekt braucht eine Startseite. Und im Prinzip besteht jedes Django-Projekt aus Apps. Diese müssen erst erstellt werden. Wir werden in den nächsten Schritten eine App für die Hauptansicht und eine für das User Management erstellen. Später dann je eine für die Ausrüstung, die verwaltet werden soll. Dafür braucht es griffige Namen, damit später klar ist, welche App was macht. Im Prinzip ist jede einzelne App ein Unterprojekt des Hauptprojektes.
Im Projektverzeichnis, bei mir mygear, erstelle ich jetzt eine App für die Startseite.
python manage.py startapp home
Und ich trage sie in der settings.py unter INSTALLED_APPS = [ hinter den vorhandenen Einträgen ein.
INSTALLED_APPS = [
...
'home',
]
Django hat im Ordner mygear einen weiteren mit den Namen home erstellt und dort eine Dateien angelegt. In home erstelle ich jetzt einen Ordner templates, der die html-Dateien der Startseite enthält.
Im Ordner templates erstelle ich jetzt die Datei home.html. Sie kann auch index.html, oder auch ganz anders heißen. index.html ist der Klassiker, aber im Prinzip ist es egal, wie sie heißt.
Die Datei enthält ein einfaches Gerüst für die Startseite.
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MyGear - {% block title %}{% endblock %}</title>
</head>
<body>
<h1>Willkommen bei MyGear</h1>
</body>
</html>
Im Projektordner mygear bearbeite ich jetzt die urls.py, damit der Aufruf der Projekt-Startseite auf die App home weiterleitet. Die vorhandenen Einträge bleiben und werden nur um eine Zeile ergänzt.
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('home.urls')), # Diese Zeile verweist auf home
]
Jede Seite, auch die Startseite, benötigt in Django einen View, um angezeigt zu werden. Dieser wird dann hier in home/views.py eingetragen.
from django.shortcuts import render
def home_view(request):
return render(request, 'home.html')
In der home-App fehlt uns jetzt noch eine urls.py, die das Projekt mit der App verbindet und den View, den wir eben definiert haben, aufruft. Der View gibt dann die home.html weiter, wenn die Startseite unseres Servers bzw. unseres Projekts aufgerufen wird. Die home/urls.py muss noch angelegt werden. Rein kommt folgendes:
from django.urls import path
from .views import home_view # importiert die Funktion, die home.html erstellt und anzeigt
urlpatterns = [
path('', home_view, name='home'), # nimmt den Pfad / und leitet ihn auf home_view weiter
]
Fertig ist die Startseite. Im nächsten Abschnitt beschäftigen wir uns dann mit User Management.