</>
Skip to content
Django lessons (17/43)

Django — Admin

Basic Admin Setup

# blog/admin.py
from django.contrib import admin
from .models import Post

admin.site.register(Post)

Create Superuser

python manage.py createsuperuser

ModelAdmin

@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
    list_display = ('title', 'author', 'created_at', 'published')
    list_filter = ('published', 'created_at')
    search_fields = ('title', 'content')
    ordering = ('-created_at',)

Admin Features

FeatureDescription
list_displayColumns to show
list_filterSidebar filters
search_fieldsSearch box
orderingDefault sort
readonly_fieldsNon-editable fields
inlinesRelated objects

Inline Admin

class CommentInline(admin.TabularInline):
    model = Comment
    extra = 1

@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
    inlines = [CommentInline]

Admin Actions

@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
    actions = ['make_published']
    
    def make_published(self, request, queryset):
        queryset.update(published=True)
    make_published.short_description = "Mark selected posts as published"

Custom Admin Templates

class MyAdminSite(admin.AdminSite):
    site_header = "My Blog Admin"
    site_title = "Blog Admin"

Mini Practice

  1. Register models in admin
  2. Customize list display
  3. Add filters and search
  4. Create admin actions

Up Next

Continue with Forms — handling user input with forms.

Related Topics

Frequently Asked Questions about Admin

What is Admin in Django?

Admin is a fundamental concept in Django. This lesson explains it step by step with clear examples, making it easy for beginners to understand.

How do I learn Admin?

Start by reading the explanation above, then try the code examples. Practice by modifying the examples and experimenting with different values. Hands-on practice is the best way to learn Admin.

Why is Admin important in Django?

Admin is essential for Django development. Understanding this concept will help you write better code and solve real-world problems more effectively.