Django Model Admin: 在后台管理中管理模型
Django Model Admin提供了一种快速创建和定制后台管理界面的方法,使得管理员可以方便地管理模型对象,包括添加、修改和删除操作。
为了使用Django Model Admin,我们需要从django.contrib import admin,并创建一个admin类来定义模型的管理界面。以下是一个示例模型和其管理界面的代码演示:
# models.py from django.db import models class Post(models.Model): title = models.CharField(max_length=100) content = models.TextField() pub_date = models.DateTimeField(auto_now_add=True) def __str__(self): return self.title # admin.py from django.contrib import admin from .models import Post @admin.register(Post) class PostAdmin(admin.ModelAdmin): list_display = ('id', 'title', 'pub_date') list_filter = ('pub_date',) search_fields = ('title', 'content') ordering = ('-pub_date',)
在上面的示例中,我们创建了一个Post模型,并在admin.py文件中定义了一个PostAdmin类来管理它。PostAdmin类通过装饰器@admin.register(Post)来告诉Django,我们要管理的模型是Post。
在PostAdmin类中,我们定义了以下属性:
- list_display:定义Admin界面中显示的字段
- list_filter:定义Admin界面中筛选器字段,我们可以按照发布日期来过滤内容的显示
- search_fields:定义Admin界面中搜索的字段
- ordering:定义Admin界面中对象的排序方式
上述示例代码的效果是,在Django Admin界面中,我们可以看到Post的每条记录都有一个链接,点击该链接进入Post的编辑页面,可以对该记录进行修改和删除操作。此外,我们也可以在Admin中进行筛选、搜索和排序等操作,以方便地管理Post对象。
例如,我们可以通过以下链接来访问Post管理页面:http://localhost:8000/admin/blog/post/,其中,blog是应用程序的名称,post是Post模型的名称。在该页面中,我们可以看到Post模型的所有记录,并可以通过筛选、搜索和排序等操作来管理它们。
相关文章