Press ESC to close

Cara Menampilkan Data di Django: Panduan Membuat Fungsi Read pada CRUD

Mengapa Fungsi Read Itu Penting?

Dalam sistem CRUD, fungsi Read bertugas untuk mengambil data dari database dan menampilkannya di halaman web. Ini adalah langkah penting untuk membuat data yang sudah Anda simpan dapat diakses oleh pengguna. Di artikel ini, kita akan membuat tampilan sederhana untuk membaca dan menampilkan data yang kita buat pada artikel sebelumnya.

Apa yang Akan Dipelajari?

Di artikel ini, kita akan fokus pada:

  1. Membuat Tampilan (View) untuk Mengambil Data
  2. Membuat URL untuk Fungsi Read
  3. Mengatur Template untuk Menampilkan Data
  4. Menguji Tampilan Data di Browser

Mari kita mulai!

Langkah 1: Membuat Tampilan (View) untuk Mengambil Data

Tampilan atau view dalam Django adalah bagian yang menghubungkan logika aplikasi dengan template HTML. Kita akan membuat tampilan sederhana untuk mengambil semua data dari model Artikel dan mengirimnya ke template untuk ditampilkan.

  1. Buka File views.py di Aplikasi CRUD:
    Di dalam aplikasi CRUD, buka file views.py.
  2. Buat Tampilan untuk Menampilkan Semua Artikel:
    Di views.py, tambahkan fungsi bernama list_artikel, yang mengambil semua data artikel dan mengirimkannya ke template.
   from django.shortcuts import render
   from .models import Artikel

   def list_artikel(request):
       # Mengambil semua artikel dari database
       artikel_list = Artikel.objects.all()
       # Mengirim data ke template
       return render(request, 'crud/list_artikel.html', {'artikel_list': artikel_list})

Penjelasan:

  • Artikel.objects.all(): Kode ini mengambil semua objek Artikel dari database.
  • render(): Fungsi ini merender template HTML dan mengirimkan data artikel_list ke template tersebut.

Langkah 2: Menambahkan URL untuk Fungsi Read

Agar tampilan list_artikel dapat diakses melalui URL, kita perlu menambahkan rute URL baru.

  1. Buat File urls.py di Aplikasi CRUD:
    Jika aplikasi CRUD belum memiliki file urls.py, buat file tersebut di dalam direktori aplikasi CRUD.
  2. Definisikan URL untuk Tampilan List Artikel:
    Di urls.py, tambahkan kode berikut untuk mengarahkan URL ke tampilan list_artikel:
   from django.urls import path
   from . import views

   urlpatterns = [
       path('artikel/', views.list_artikel, name='list_artikel'),
   ]
  1. Hubungkan URL Aplikasi CRUD ke URL Proyek Utama:
    Buka urls.py di direktori proyek utama, lalu tambahkan path untuk mengarahkan ke urls.py aplikasi CRUD.
   from django.contrib import admin
   from django.urls import path, include

   urlpatterns = [
       path('admin/', admin.site.urls),
       path('crud/', include('crud.urls')),  # Tambahkan ini untuk menghubungkan aplikasi CRUD
   ]

Dengan pengaturan ini, URL http://127.0.0.1:8000/crud/artikel/ akan menampilkan daftar artikel.

Langkah 3: Membuat Template untuk Menampilkan Data

Template adalah file HTML tempat kita menampilkan data yang diambil dari view. Di langkah ini, kita akan membuat template sederhana untuk menampilkan daftar artikel.

  1. Buat Folder templates di Direktori Aplikasi CRUD:
    Di dalam aplikasi CRUD, buat folder baru bernama templates, lalu buat subfolder bernama crud untuk menyimpan template-template aplikasi CRUD.
  2. Buat Template list_artikel.html:
    Di dalam folder crud, buat file bernama list_artikel.html. Isi file ini dengan kode HTML sederhana untuk menampilkan daftar artikel:
   <!DOCTYPE html>
   <html lang="en">
   <head>
       <meta charset="UTF-8">
       <meta name="viewport" content="width=device-width, initial-scale=1.0">
       <title>Daftar Artikel</title>
   </head>
   <body>
       <h1>Daftar Artikel</h1>
       <ul>
           {% for artikel in artikel_list %}
               <li>
                   <h2>{{ artikel.judul }}</h2>
                   <p>{{ artikel.isi|truncatewords:20 }}</p>
                   <small>Dibuat pada: {{ artikel.tanggal_dibuat }}</small>
               </li>
           {% empty %}
               <li>Belum ada artikel tersedia.</li>
           {% endfor %}
       </ul>
   </body>
   </html>

Penjelasan Kode:

  • {% for artikel in artikel_list %}: Loop untuk menampilkan setiap artikel di artikel_list.
  • {{ artikel.judul }} dan {{ artikel.isi|truncatewords:20 }}: Menampilkan judul dan isi artikel dengan hanya 20 kata pertama.
  • {% empty %}: Menampilkan pesan “Belum ada artikel tersedia” jika artikel_list kosong.

Langkah 4: Menguji Tampilan Data di Browser

Setelah semuanya siap, saatnya menguji apakah tampilan data bekerja dengan baik.

  1. Jalankan Server Django:
    Jika server belum berjalan, jalankan perintah berikut:
   python manage.py runserver
  1. Akses Halaman Daftar Artikel:
    Buka browser dan akses URL http://127.0.0.1:8000/crud/artikel/. Jika berhasil, Anda akan melihat daftar artikel yang telah Anda tambahkan melalui panel admin. Jika halaman muncul dengan data artikel, fungsi Read telah berhasil dibuat!

Kesimpulan

Pada artikel ini, Anda telah belajar:

  • Membuat tampilan (view) untuk mengambil dan menampilkan data dari database
  • Menambahkan URL untuk menghubungkan view ke halaman web
  • Membuat template HTML untuk menampilkan daftar artikel

Sekarang Anda memiliki halaman yang bisa menampilkan data dinamis dari database! Pada artikel berikutnya, kita akan membahas fungsi Create, yang memungkinkan pengguna untuk menambahkan data baru langsung dari halaman web.

Leave a Reply

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