6. Django Python – Django Admin

django python bahasa indonesia

1. Django Admin

Setelah melakukan database migrations, maka halaman admin pun akan terbentuk. Untuk mengakses halaman admin, akses ke localhost:8000/admin.

Buat superuser untuk mengakses halaman django admin.

$ python3 manage.py createsuperuser

Kemudian login menggunakan akun superuser tersebut.

Import dan tambahkan model yang telah dibuat agar masuk ke halaman admin.

from django.contrib import admin
from apps.apps01.models import Siswa, Jurusan

# Register your models here.
admin.site.register(Siswa)
admin.site.register(Jurusan)

2. Model Admin

Berikut contoh menampilkan kolom dalam data di django admin. Misalkan, kita ingin menampilkan kolom nomor, nama depan, nama belakang, tanggal lahir, alamat dan jurusan pada tabel Siswa. Kita bikin ModelAdmin dengan nama SiswaAdmin.

from django.contrib import admin
from apps.apps01.models import Siswa, Jurusan

# Register your models here.
class SiswaAdmin(admin.ModelAdmin):
     list_display = ['nomor','nama_depan','nama_belakang','tgl_lahir','alamat','jurusan']
     search_fields = ['nomor','nama_depan','nama_belakang']
     list_filter = ['jurusan']
     list_per_page = 10

admin.site.register(Siswa, SiswaAdmin)
admin.site.register(Jurusan)

Kemudian reload halaman, maka kolom-kolom yang telah didefinisikan akan terbentuk pada tabel atau model Siswa.

3. Model Admin – Gabungan Kolom

Sebagai contoh, kita akan menggabungkan kolom nama_depan dan nama_belakang sebagai nama_lengkap di Model Admin.

class Siswa(models.Model):
 …
 …
def nama_lengkap(self):
     return "{} {}".format(self.nama_depan, self.nama_belakang)

def str(self):
     return self.nama_depan+" "+self.nama_belakang

Kemudian tambahkan atau rubah list_display untuk menampilkan nama_lengkap.

…
class SiswaAdmin(admin.ModelAdmin):
     list_display = ['nomor','nama_lengkap','nama_belakang','tgl_lahir','alamat','jurusan']
…

Lanjutkan Membaca Materi Lengkap


Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.