
Mengapa Fungsi Delete Itu Penting?
Fungsi Delete dalam sistem CRUD memungkinkan pengguna untuk menghapus data yang sudah tidak relevan atau diinginkan dari database. Fungsi ini sangat penting dalam menjaga kebersihan dan keakuratan data dalam aplikasi.
Apa yang Akan Dipelajari?
Pada artikel ini, kita akan mempelajari langkah-langkah berikut:
- Membuat Tampilan (View) untuk Fungsi Delete
- Mengatur URL untuk Fungsi Delete
- Membuat Konfirmasi Penghapusan dengan Template HTML
- Menguji Fungsi Delete di Browser
Mari kita mulai!
Langkah 1: Membuat Tampilan (View) untuk Fungsi Delete
Untuk menghapus data, kita akan membuat tampilan yang menampilkan halaman konfirmasi. Jika pengguna setuju, data akan dihapus dari database.
- Buka File
views.py
di Aplikasi CRUD:
Di dalam aplikasi CRUD, buka fileviews.py
. - Buat Fungsi untuk Menghapus Data:
Tambahkan fungsidelete_artikel
diviews.py
untuk menangani proses penghapusan data.
from django.shortcuts import render, redirect, get_object_or_404
from .models import Artikel
def delete_artikel(request, id):
artikel = get_object_or_404(Artikel, id=id) # Mengambil artikel berdasarkan ID
if request.method == 'POST':
artikel.delete() # Menghapus artikel
return redirect('list_artikel')
return render(request, 'crud/delete_artikel.html', {'artikel': artikel})
Penjelasan Kode:
get_object_or_404(Artikel, id=id)
: Mengambil objek artikel berdasarkan ID. Jika tidak ditemukan, akan menghasilkan halaman 404.request.method == 'POST'
: Mengecek apakah permintaan adalah POST. Jika ya, maka data dihapus.artikel.delete()
: Menghapus objek artikel dari database.redirect('list_artikel')
: Mengarahkan pengguna kembali ke daftar artikel setelah penghapusan.
Langkah 2: Mengatur URL untuk Fungsi Delete
Selanjutnya, kita perlu menambahkan rute URL untuk mengakses fungsi Delete.
- Buka File
urls.py
di Aplikasi CRUD:
Buka fileurls.py
di aplikasi CRUD. - Tambahkan URL untuk Fungsi Delete:
Tambahkan path baru yang menerima parameter ID untuk mengidentifikasi artikel yang ingin dihapus.
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'),
path('artikel/hapus/<int:id>/', views.delete_artikel, name='delete_artikel'), # URL untuk hapus artikel
]
Dengan pengaturan ini, URL http://127.0.0.1:8000/crud/artikel/hapus/<id>/
akan diarahkan ke fungsi Delete.
Langkah 3: Membuat Konfirmasi Penghapusan dengan Template HTML
Sebelum menghapus data, kita akan menampilkan halaman konfirmasi untuk memastikan pengguna benar-benar ingin menghapus data tersebut.
- Buat Template
delete_artikel.html
:
Di dalam foldercrud/templates/crud
, buat file bernamadelete_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>Hapus Artikel</title>
</head>
<body>
<h1>Apakah Anda yakin ingin menghapus artikel ini?</h1>
<p><strong>{{ artikel.judul }}</strong></p>
<form method="post">
{% csrf_token %}
<button type="submit">Ya, Hapus</button>
<a href="{% url 'list_artikel' %}">Batal</a>
</form>
</body>
</html>
Penjelasan Kode:
{{ artikel.judul }}
: Menampilkan judul artikel yang akan dihapus sebagai informasi.{% csrf_token %}
: Token keamanan untuk formulir POST.- Tombol Ya, Hapus untuk mengirim permintaan POST dan menghapus data.
- Tombol Batal untuk kembali ke daftar artikel tanpa menghapus data.
Langkah 4: Menguji Fungsi Delete di Browser
Saatnya menguji apakah kita bisa menghapus data melalui konfirmasi di browser.
- Jalankan Server Django:
Jika server belum berjalan, jalankan perintah berikut:
python manage.py runserver
- Akses Halaman Hapus Artikel:
Buka browser dan akses URLhttp://127.0.0.1:8000/crud/artikel/hapus/<id>/
(ganti<id>
dengan ID artikel yang ingin Anda hapus). Jika berhasil, Anda akan melihat halaman konfirmasi penghapusan. - Coba Hapus Artikel:
- Klik tombol Ya, Hapus. Jika berhasil, Anda akan diarahkan kembali ke halaman daftar artikel, dan artikel yang Anda pilih akan dihapus dari daftar.
Kesimpulan
Pada artikel ini, Anda telah mempelajari:
- Membuat tampilan (view) untuk menghapus data dengan konfirmasi
- Menambahkan URL untuk fungsi Delete
- Membuat template HTML untuk konfirmasi penghapusan data
- Menguji fungsi Delete di browser
Dengan langkah ini, aplikasi CRUD Anda kini memiliki fungsi penghapusan data yang lengkap dengan halaman konfirmasi, memberikan kontrol penuh pada pengguna untuk mengelola data mereka. Pada artikel berikutnya, kita bisa membahas cara mempercantik tampilan aplikasi CRUD ini atau bahkan menambahkan fitur keamanan dan validasi tambahan.
Leave a Reply