CreateView und UpdateView
Anlegen- und Bearbeitungsseiten aus einem Model erstellen
CreateView und UpdateView ist eine kostenlose Django Academy-Lektion auf CoddyKit. Dies ist Lektion 2 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 Django Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Django Academy-Kurs umfasst insgesamt 4 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
Pages That Write Data
Showing data is half the job. To add and edit records you reach for CreateView and UpdateView.
Meet CreateView
CreateView builds an add page: it renders a form, validates input, and saves a new record for you.
A Form from Fields
Tell CreateView the fields you want, and it generates a matching form straight from your model.
from django.views.generic import CreateView
class PostCreate(CreateView):
model = Post
fields = ["title", "body"]The Form Template Name
CreateView and UpdateView both look for app/model_form.html, like post_form.html, by default.
Rendering the Form
Inside the template the generated form arrives as form, so you render its fields and a submit button.
<form method="post">{% csrf_token %}
{{ form.as_p }}
<button>Save</button>
</form>Meet UpdateView
UpdateView works just like CreateView, but it loads an existing record first so the form starts pre-filled.
Editing an Existing Record
UpdateView reads a pk from the URL, fetches that object, and saves your changes back to it.
from django.views.generic import UpdateView
class PostUpdate(UpdateView):
model = Post
fields = ["title", "body"]Where to Go After Saving
After a successful save, the view redirects. Set success_url to control exactly where users land next.
from django.urls import reverse_lazy
class PostCreate(CreateView):
success_url = reverse_lazy("post_list")Or Let the Model Decide
Skip success_url by giving your model a get_absolute_url; the view will redirect there automatically.
def get_absolute_url(self):
return reverse("post_detail", args=[self.pk])Wiring the Edit URLs
Create needs no pk, but update does, so its URL captures one with as_view() like the others.
path("new/", PostCreate.as_view()),
path("<int:pk>/edit/", PostUpdate.as_view()),Shared Form Power
Because both reuse the same form and template, add and edit pages stay consistent with almost no extra code. 💪
Quick Check
What is the main difference between CreateView and UpdateView?
Recap: Create and Update
You used CreateView to add records and UpdateView to edit them, shared one form template, and steered redirects with success_url. 🎉
Häufig gestellte Fragen
Ist die Lektion „CreateView und UpdateView“ kostenlos?
Ja — der vollständige Text von „CreateView und UpdateView“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Django Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Django Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „CreateView und UpdateView“?
Anlegen- und Bearbeitungsseiten aus einem Model erstellen Du übst Django 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 Django Academy zu starten?
Keine Vorkenntnisse erforderlich. Django 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 2 von 4.
Wie lange dauert die Lektion „CreateView und UpdateView“?
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 Django Academy-Lektion Code schreiben und ausführen?
Ja. Jede Django 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
- ListView und DetailView
- CreateView und UpdateView
- DeleteView und success_url
- get_queryset und Templates überschreiben