Customizing the Django admin
In Django, we can customize the admin interface to match the needs of our application. We can register models and customize their display, define custom views, and add custom CSS and JavaScript. Here's an example that adds a custom view to the Post model admin:
python
from django.contrib import admin
from .models import Post
@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
list_display = ['title', 'published_date']
def publish_selected_posts(modeladmin, request,
In the example from the previous section, we defined a PostAdmin class that inherits from Django's ModelAdmin and registered it with the Post model using the @admin.register decorator.
We customized the list_display attribute to include the title and published_date fields. We also defined a custom action publish_selected_posts that publishes all selected posts.
We can add our custom admin view to the urls.py file of our app:
python
from django.urls import path
from .admin import PostAdmin
urlpatterns = [
path('admin/posts/publish_selected/', PostAdmin.publish_selected_posts, name='publish_selected_posts'),
]
In this example, we define a URL pattern that maps the /admin/posts/publish_selected/ URL to our custom publish_selected_posts method.
No comments:
Post a Comment