Django 基础教程

Django 查询

Django 展示数据

Django Admin

Django 模板

Django 表单组件

Django 高级

Django FAQ

django管理界面修改


在 Django 中,管理界面是一个强大的功能,它允许您通过简单的代码来管理数据库模型和数据。您可以对管理界面进行自定义以满足特定需求。下面是如何进行一些常见的管理界面修改的示例:

自定义管理界面显示字段

默认情况下,管理界面将显示模型的所有字段。但是,您可以通过覆盖模型的 ModelAdmin 类来指定要在管理界面中显示的字段。

# models.py
from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=100)
    publication_date = models.DateField()
    price = models.DecimalField(max_digits=5, decimal_places=2)

# admin.py
from django.contrib import admin
from .models import Book

class BookAdmin(admin.ModelAdmin):
    list_display = ('title', 'author', 'publication_date')

admin.site.register(Book, BookAdmin)

在这个例子中,我们在 BookAdmin 类中定义了 list_display 属性,该属性指定了在管理界面中显示的字段。在这里,我们选择只显示 titleauthorpublication_date 字段。

添加搜索功能

您可以通过在 search_fields 属性中指定要搜索的字段,向管理界面添加搜索功能。

# admin.py
from django.contrib import admin
from .models import Book

class BookAdmin(admin.ModelAdmin):
    list_display = ('title', 'author', 'publication_date')
    search_fields = ('title', 'author')

admin.site.register(Book, BookAdmin)

在这个例子中,我们在 BookAdmin 类中添加了 search_fields 属性,该属性指定了要在管理界面中添加搜索功能的字段。在这里,我们选择使用 titleauthor 字段进行搜索。

过滤数据

您可以通过在 list_filter 属性中指定要过滤的字段,向管理界面添加过滤器。

# admin.py
from django.contrib import admin
from .models import Book

class BookAdmin(admin.ModelAdmin):
    list_display = ('title', 'author', 'publication_date')
    search_fields = ('title', 'author')
    list_filter = ('author', 'publication_date')

admin.site.register(Book, BookAdmin)

在这个例子中,我们在 BookAdmin 类中添加了 list_filter 属性,该属性指定了要在管理界面中添加过滤器的字段。在这里,我们选择使用 authorpublication_date 字段进行过滤。

通过上述示例,您可以看到如何使用 ModelAdmin 类的属性来自定义 Django 管理界面。这些是 Django 中最常用的管理界面修改示例,您可以根据需要进一步扩展和自定义管理界面。在实际开发中,您还可以通过创建自定义的 admin 模板和视图来实现更复杂的自定义。

Django是一个功能强大的Web开发框架,它提供了一套完善的权限管理系统,帮助开发者在应用中实现灵活的权限控制。权限定义和作用在Djang ...
如果您还没有安装Django,可以使用pip进行安装:现在,让我们创建一个新的Django项目和应用,然后添加登录功能。py`文件,并添加以 ...
##自定义方式###静态文件准备首先,你可以创建自己的静态文件来替换DjangoAdmin默认的CSS和图片。例如,要修改导航栏的背景颜色, ...
Elasticsearch修改数据的实现方式Elasticsearch提供了多种方式来修改数据,以便在索引中更新、替换或部分更改文档。### ...
自定义Admin页面的实现方式使用自定义模板通过创建自定义的HTML模板来修改Admin页面的外观和布局。html中继承Django自带的A ...