Back
Syntax
Study
Editor
Mode:
HTML
CSS
JavaScript
PHP
Reset
Run »
HTML / CSS / JS
# blog/admin.py — basic and customised admin registration from django.contrib import admin from django.utils.html import format_html from .models import Post, Category, Tag @admin.register(Category) class CategoryAdmin(admin.ModelAdmin): list_display = ['name', 'slug'] prepopulated_fields = {'slug': ('name',)} search_fields = ['name'] @admin.register(Tag) class TagAdmin(admin.ModelAdmin): list_display = ['name', 'slug'] prepopulated_fields = {'slug': ('name',)} @admin.register(Post) class PostAdmin(admin.ModelAdmin): list_display = ['title', 'author', 'category', 'status', 'published_at', 'cover_preview'] list_filter = ['status', 'created_at', 'category'] search_fields = ['title', 'body', 'author__username'] prepopulated_fields = {'slug': ('title',)} raw_id_fields = ['author'] date_hierarchy = 'published_at' ordering = ['-published_at'] filter_horizontal = ['tags'] @admin.display(description='Cover') def cover_preview(self, obj): if obj.cover_img: return format_html('<img src="{}" height="40">', obj.cover_img.url) return '-'
Result
Open