Tutorial CRUD dengan Django dan Boostrap 4 #5: Menghapus Data dari Database


Rizqi Maulana
Backend Developer

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


Rizqi Maulana
Backend Developer
KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami

KOMENTAR