Hapus Task
Materi terakhir yang akan kita pelajari adalah membuat proses untuk menghapus task. Untuk tahap ini kita tidak membutuhkan template baru karena ini hanya proses hapus. Jadi yang pertama kita perlukan sama seperti materi sebelumnya. Buat sebuah method pada view untuk memroses penghapusan data. Silahkan buka file todo-project/todo/views.py dan tambahkan method delete_view seperti kode di bawah ini.
# Membuat View untuk menghapus data task
def delete_view(request, task_id):
try:
# mengambil data task yang akan dihapus berdasarkan task id
task = Task.objects.get(pk=task_id)
# menghapus data dari table tasks
task.delete()
# mengeset pesan sukses dan redirect ke halaman daftar task
messages.success(request, 'Sukses Menghapus Task.')
return redirect('todo:index')
except Task.DoesNotExist:
# Jika data task tidak ditemukan,
# maka akan di redirect ke halaman 404 (Page not found).
raise Http404("Task tidak ditemukan.")
Tambahkan route baru untuk proses hapus task dengan mengubah file todo-project/todo/urls.py seperti di bawah ini.
todo-project/todo/urls.py
from django.urls import path
# import View dari todo Application
from .views import index_view, detail_view, create_view, update_view, delete_view
app_name = 'todo'
urlpatterns = [
# url untuk halaman daftar task
path('', index_view, name='index'),
# url untuk halaman detail task
path('<int:task_id>', detail_view, name='detail'),
# url untuk halaman tambah task
path('create', create_view, name='create'),
# url untuk halaman ubah task
path('update/<int:task_id>', update_view, name='update'),
# url untuk menghapus task
path('delete/<int:task_id>', delete_view, name='delete'),
]
Jangan lupa ubah url tombol hapus pada halaman daftar task. Ubah bagian kode berikut.
<a href="#" class="btn btn-danger btn-sm">hapus</a>
menjadi seperti kode di bawah ini.
<a href="{% url 'todo:delete' task.id %}" class="btn btn-danger btn-sm" onclick="return confirm('Apakah yakin akan menghapus task ini?')">hapus</a>
Silahkan reload halaman daftar task. Kemudian coba klik salah satu tombol hapus, maka akan muncul popup peringatan penghapusan data seperti di bawah ini.
Jika kita klik Ok maka proses penghapusan data akan dilakukan dan secara otomatis akan kembali ke halaman daftar task. Pesan notifikasi berhasil menghapus data juga ditampilkan dan kita bisa mengecek data yang kita pilih untuk dihapus tadi sudah tidak ada pada tabel daftar task.
Akhirnya kita sudah menyelesaikan materi terakhir pada tutorial Simple CRUD dengan Django dan Bootstrap 4. Terima kasih untuk yang sudah membaca dan belajar bersama pada tutorial ini. Penulis meminta maaf jika ada kesalahan dalam penyusunan materi nya. Silahkan berikan kritik dan saran atau koreksi jika memang ada kesalahan dalam penulisan tutorial ini.
Happy Coding :)
Silahkan bagi yang ingin mendownload source code tutorial ini bisa melalui link berikut https://github.com/sakukode/source-code-tutorial-crud-django-bootstrap-4.
INFO :
Ebook Python & Django