0Pricing
Python Academy · Lektion

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 request entgegen und geben eine Antwort zurück
  • urlpatterns und path() ordnen URLs Views zu, optional mit einem name
  • Konverter wie <int:id> erfassen Teile von URLs
  • include() bindet App-URLs ein; render() und get_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.

Alle Lektionen in diesem Kurs

  1. Projekte und Apps
  2. Modelle und Migrationen
  3. Views und URLs
  4. Das Django-Admin-Interface
← Zurück zu Python Academy