Skip to content
Django

Admin Customization

Customize the Django admin with list_display and actions.

#admin#customization

Code

django
from django.contrib import admin
from .models import Article

@admin.register(Article)
class ArticleAdmin(admin.ModelAdmin):
    list_display = ("title", "is_published", "views", "published_at")
    list_filter = ("is_published", "published_at")
    search_fields = ("title", "body")
    prepopulated_fields = {"slug": ("title",)}
    list_editable = ("is_published",)
    date_hierarchy = "published_at"
    ordering = ("-views",)
    actions = ["publish_selected"]

    @admin.action(description="Publish selected")
    def publish_selected(self, request, queryset):
        updated = queryset.update(is_published=True)
        self.message_user(request, f"{updated} articles published.")