0Pricing
Django Academy · Pelajaran

CreateView dan UpdateView

Buat halaman penambahan dan penyuntingan dari sebuah model

CreateView dan UpdateView adalah pelajaran Django Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Django Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Django Academy mencakup 4 pelajaran total.

Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.

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. 🎉

Pertanyaan yang Sering Diajukan

Apakah pelajaran “CreateView dan UpdateView” gratis?

Ya — teks lengkap “CreateView dan UpdateView” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Django Academy, upgrade ke CoddyKit PRO. Kursus Django Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “CreateView dan UpdateView”?

Buat halaman penambahan dan penyuntingan dari sebuah model Kamu berlatih Django Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Django Academy?

Tidak diperlukan pengalaman sebelumnya. Django Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “CreateView dan UpdateView” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Django Academy ini?

Ya. Setiap pelajaran Django Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. ListView dan DetailView
  2. CreateView dan UpdateView
  3. DeleteView dan success_url
  4. Menimpa get_queryset dan Templat
← Kembali ke Django Academy