Press ESC to close

Cara Mengedit Data di Django: Panduan Fungsi Update dalam CRUD

Mengapa Fungsi Update Itu Penting?

Fungsi Update dalam CRUD memungkinkan pengguna untuk memperbarui atau mengedit data yang sudah ada di database. Ini sangat berguna dalam aplikasi yang membutuhkan fleksibilitas bagi pengguna untuk memperbarui informasi yang sudah disimpan, seperti aplikasi manajemen konten atau sistem inventaris.

Apa yang Akan Dipelajari?

Pada artikel ini, kita akan mempelajari langkah-langkah berikut:

  1. Membuat Tampilan (View) untuk Fungsi Update
  2. Mengatur URL untuk Fungsi Update
  3. Membuat Template HTML untuk Formulir Edit Data
  4. Menguji Fungsi Update di Browser

Mari kita mulai!

Langkah 1: Membuat Tampilan (View) untuk Fungsi Update

Pertama-tama, kita perlu membuat tampilan untuk mengambil data yang sudah ada, menampilkannya dalam formulir, dan menyimpan perubahan saat pengguna mengirim formulir.

  1. Buka File views.py di Aplikasi CRUD:
    Di dalam aplikasi CRUD, buka file views.py.
  2. Buat Fungsi untuk Mengedit Data:
    Tambahkan fungsi update_artikel di views.py untuk menangani proses edit data.
   from django.shortcuts import render, redirect, get_object_or_404
   from .forms import ArtikelForm
   from .models import Artikel

   def update_artikel(request, id):
       artikel = get_object_or_404(Artikel, id=id)  # Mengambil artikel berdasarkan ID
       if request.method == 'POST':
           form = ArtikelForm(request.POST, instance=artikel)
           if form.is_valid():
               form.save()
               return redirect('list_artikel')
       else:
           form = ArtikelForm(instance=artikel)
       return render(request, 'crud/update_artikel.html', {'form': form, 'artikel': artikel})

Penjelasan Kode:

  • get_object_or_404(Artikel, id=id): Mengambil objek artikel berdasarkan ID. Jika tidak ditemukan, akan menghasilkan halaman 404.
  • instance=artikel: Memberi tahu Django bahwa formulir ini akan diisi dengan data dari objek artikel yang spesifik.
  • form.save(): Menyimpan perubahan yang dibuat di formulir.

Langkah 2: Mengatur URL untuk Fungsi Update

Agar fungsi update_artikel bisa diakses melalui URL, kita perlu menambah rute baru di urls.py.

  1. Buka File urls.py di Aplikasi CRUD:
    Buka file urls.py di aplikasi CRUD.
  2. Tambahkan URL untuk Fungsi Update:
    Tambahkan path baru yang menerima parameter ID untuk mengidentifikasi artikel yang ingin diedit.
   from django.urls import path
   from . import views

   urlpatterns = [
       path('artikel/', views.list_artikel, name='list_artikel'),
       path('artikel/tambah/', views.create_artikel, name='create_artikel'),
       path('artikel/edit/<int:id>/', views.update_artikel, name='update_artikel'),  # URL untuk edit artikel
   ]

Dengan pengaturan ini, URL http://127.0.0.1:8000/crud/artikel/edit/<id>/ akan diarahkan ke fungsi Update.

Langkah 3: Membuat Template HTML untuk Formulir Edit Data

Template ini akan menampilkan formulir dengan data yang sudah ada, memungkinkan pengguna untuk memperbarui informasi yang mereka inginkan.

  1. Buat Template update_artikel.html:
    Di dalam folder crud/templates/crud, buat file bernama update_artikel.html dan tambahkan kode berikut:
   <!DOCTYPE html>
   <html lang="en">
   <head>
       <meta charset="UTF-8">
       <meta name="viewport" content="width=device-width, initial-scale=1.0">
       <title>Edit Artikel</title>
   </head>
   <body>
       <h1>Edit Artikel: {{ artikel.judul }}</h1>
       <form method="post">
           {% csrf_token %}
           {{ form.as_p }}
           <button type="submit">Simpan Perubahan</button>
       </form>
       <a href="{% url 'list_artikel' %}">Kembali ke Daftar Artikel</a>
   </body>
   </html>

Penjelasan Kode:

  • {{ artikel.judul }}: Menampilkan judul artikel yang sedang diedit.
  • {% csrf_token %}: Token keamanan untuk formulir POST.
  • {{ form.as_p }}: Menampilkan formulir dalam bentuk paragraf yang rapi.

Langkah 4: Menguji Fungsi Update di Browser

Saatnya menguji apakah kita bisa mengedit data melalui formulir di browser.

  1. Jalankan Server Django:
    Jika server belum berjalan, jalankan perintah berikut:
   python manage.py runserver
  1. Akses Halaman Edit Artikel:
    Buka browser dan akses URL http://127.0.0.1:8000/crud/artikel/edit/<id>/ (ganti <id> dengan ID artikel yang ingin Anda edit). Jika berhasil, Anda akan melihat formulir yang telah terisi dengan data dari artikel tersebut.
  2. Coba Edit Artikel:
  • Ubah data di formulir, lalu klik tombol Simpan Perubahan.
  • Jika berhasil, Anda akan diarahkan kembali ke halaman daftar artikel, dan perubahan akan terlihat di daftar artikel.

Kesimpulan

Pada artikel ini, Anda telah mempelajari:

  • Membuat tampilan (view) untuk mengedit data yang sudah ada
  • Menambahkan URL untuk mengakses fungsi Update
  • Membuat template HTML untuk formulir edit data
  • Menguji fungsi Update di browser

Sekarang, aplikasi CRUD Anda memungkinkan pengguna untuk mengedit data yang sudah ada di database. Pada artikel berikutnya, kita akan membahas fungsi Delete, yang memungkinkan pengguna untuk menghapus data dari aplikasi.

Leave a Reply

Your email address will not be published. Required fields are marked *