Views und URLs
Anfragen an Views weiterleiten
Views und URLs ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist ein View?
Ein Django-View ist eine Funktion oder Klasse, die eine Webanfrage entgegennimmt und eine Webantwort zurückgibt. Views enthalten die Logik Ihrer Seiten und befinden sich in der views.py einer App.
from django.http import HttpResponse
def home(request):
return HttpResponse('Hello, world!')
print('A view takes request, returns response')Das request-Argument
Jeder View erhält ein request-Objekt mit Details zur eingehenden Anfrage: Methode, GET-/POST-Daten, Benutzer und weitere Informationen.
from django.http import HttpResponse
def info(request):
return HttpResponse('Method: ' + request.method)
print('request carries the incoming data')URL-Muster
Die urls.py einer App ordnet URL-Pfade mithilfe einer Liste namens urlpatterns und der Funktion path() den Views zu.
# blog/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.home),
]
print('path maps a URL to a view')URLs benennen
Geben Sie einem Muster einen name, damit Sie es an anderer Stelle referenzieren können, ohne den Pfad fest zu codieren.
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
]
print("name='home' lets you reference it later")URL-Parameter
Erfassen Sie Teile der URL mit Konvertern wie <int:post_id>. Der erfasste Wert wird an den View übergeben.
from django.urls import path
from . import views
urlpatterns = [
path('post/<int:post_id>/', views.detail, name='detail'),
]
print('post/5/ -> detail(request, post_id=5)')Den Parameter auslesen
Der erfasste Wert wird als Schlüsselwortargument übergeben, dessen Name dem des Konverters entspricht.
from django.http import HttpResponse
def detail(request, post_id):
return HttpResponse('Post ' + str(post_id))
print('View receives post_id')App-URLs einbinden
Die zentrale urls.py des Projekts bindet mit include() die URLs jeder App ein und hält das Routing dadurch modular.
# mysite/urls.py
from django.urls import path, include
urlpatterns = [
path('blog/', include('blog.urls')),
]
print('include() wires up app urls')Templates rendern
Der Shortcut render() kombiniert ein Template mit einem Kontext-Dictionary und gibt eine HttpResponse zurück.
from django.shortcuts import render
def home(request):
return render(request, 'home.html', {'name': 'Alice'})
print('render combines template + context')404-Hilfsfunktionen
get_object_or_404() ruft ein Objekt ab oder löst einen 404-Fehler aus, wenn es nicht vorhanden ist – ein gängiges und sicheres Muster.
from django.shortcuts import get_object_or_404, render
from .models import Post
def detail(request, post_id):
post = get_object_or_404(Post, id=post_id)
return render(request, 'detail.html', {'post': post})
print('get_object_or_404 handles missing data')URLs umkehren
In Python erstellt reverse('detail', args=[5]) anhand des Namens eines Musters eine URL. In Templates erledigt das Tag {% url %} dasselbe.
from django.urls import reverse
# reverse('detail', args=[5]) -> '/blog/post/5/'
# In a template: {% url 'detail' post.id %}
print('reverse builds URLs from names')Klassenbasierte Views
Django bietet auch klassenbasierte Views wie ListView und DetailView, die gängige Muster mit weniger Code verarbeiten.
from django.views.generic import ListView
from .models import Post
class PostList(ListView):
model = Post
print('ListView lists objects automatically')Kurze Überprüfung
Testen Sie Ihr Wissen über Views und URLs.
Zusammenfassung
Sie haben Anfragen an Views weitergeleitet.
- Views nehmen ein
requestentgegen und geben eine Antwort zurück urlpatternsundpath()ordnen URLs Views zu, optional mit einemname- Konverter wie
<int:id>erfassen Teile von URLs include()bindet App-URLs ein;render()undget_object_or_404()sind praktische Shortcuts
Häufig gestellte Fragen
Ist die Lektion „Views und URLs“ kostenlos?
Ja — der vollständige Text von „Views und URLs“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Views und URLs“?
Anfragen an Views weiterleiten Du übst Python Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Python Academy zu starten?
Keine Vorkenntnisse erforderlich. Python Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Views und URLs“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Python Academy-Lektion Code schreiben und ausführen?
Ja. Jede Python Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.