Memasang Django-Grappelli

Bosan dengan tampilan default dari django-admin? Gunakan django-grappelli.

https://django-grappelli.readthedocs.io/en/latest/index.html

Drawbacks:

  1. fungsi prepulated_fields untuk slug tidak jalan, terpaksa harus menggunakan cara manual dengan meng-override fungsi save di models.py. Contoh:
from django.db import Models
from django.template.defaultfilters import slugify
from django.utils.translation import ugettext_lazy as _


class Rumah(models.Model):
    """Rumah models."""

    judul_iklan = models.CharField(
        max_length=255,
        help_text=_('Masukkan judul iklan')
    )
    judul_iklan_slug = models.SlugField(
        help_text=_('Otomatis terisi, biarkan saja')
    )

    def save(self, *args, **kwargs):
        # override save for judul_iklan_slug field
        self.judul_iklan_slug = slugify(self.judul_iklan)
        super(Rumah, self).save(*args, **kwargs)

 

Optimasi Django-Admin

Rules:

  1. Jangan terlalu banyak memunculkan relasi di halaman add/edit
  2. Gunakan list_select_related di list view
  3. Gunakan readonly_fields untuk relasi

Drawbacks:

Limitasi di atas dapat mengganggu proses penambahan data, karena kita tidak bisa memilih data-data relasi.

References: