30 Django管理后台之管理对象

在之前的章节中,我们探讨了如何自定义Django的管理界面,使其更加符合我们的需求。现在,我们将深入讨论如何在Django的管理后台中生成和管理对象,并对后台的功能进行细致的设置。

什么是Django的管理对象?

在Django中,管理对象指的是你在管理后台中所操作的模型实例。每一个模型都可以在管理界面中进行增、删、改、查操作。为了能在Django的管理后台中管理这些对象,我们首先需要定义一个模型,然后将这个模型注册到管理界面。

创建模型

首先,让我们定义一个简单的模型。例如,我们可以创建一个用于存储图书信息的模型,代码如下:

1
2
3
4
5
6
7
8
9
10
from django.db import models

class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=50)
published_date = models.DateField()
isbn = models.CharField(max_length=13)

def __str__(self):
return self.title

在上面的代码中,我们创建了一个Book模型,其中包含了书名、作者、出版日期和ISBN等字段。

注册模型到管理后台

定义好模型后,我们需要将其注册到Django的管理后台。具体步骤如下:

  1. 打开admin.py文件。
  2. 导入我们的模型。
  3. 使用admin.site.register()方法注册模型。

示例代码如下:

1
2
3
4
from django.contrib import admin
from .models import Book

admin.site.register(Book)

通过这几行代码,Book模型就成功注册到Django的管理后台了。

管理对象的功能

增加和编辑对象

在我们前面的章节中,我们已经完成了模型的创建及注册,接下来就可以在Django的管理后台进行对象的管理了。只需访问http://127.0.0.1:8000/admin/,然后点击Books,即可看到管理界面。

在这里,你可以轻松地添加新的书籍(对象)或编辑现有的书籍。

删除对象

为了删除对象,你只需在管理界面中选择相应的书籍,点击删除按钮即可。在弹出的确认框中确认删除操作。

自定义管理对象的显示方式

为了让管理界面更加友好,我们可以自定义表格中显示的信息。我们可以通过子类admin.ModelAdmin来实现这一点。以下是如何自定义显示字段的示例:

1
2
3
4
5
6
class BookAdmin(admin.ModelAdmin):
list_display = ('title', 'author', 'published_date', 'isbn') # 自定义显示字段
search_fields = ('title', 'author') # 添加搜索功能

# 注册自定义的管理类
admin.site.register(Book, BookAdmin)

在上面的代码中,我们通过list_display来指定在列表中应该显示的字段,通过search_fields来添加搜索功能。

过滤和分页

除了自定义显示字段,Django的管理后台还支持过滤和分页功能。我们可以通过下面的方式为我们的书籍列表添加过滤器:

1
2
3
4
5
6
7
class BookAdmin(admin.ModelAdmin):
list_display = ('title', 'author', 'published_date', 'isbn')
search_fields = ('title', 'author')
list_filter = ('published_date',) # 添加过滤功能
ordering = ('published_date',) # 指定默认排序

admin.site.register(Book, BookAdmin)

在上述代码中,list_filter将允许我们根据出版日期进行过滤,而ordering则指定了默认的排序方式。

结论

至此,我们已经介绍了如何在Django的管理后台生成和管理对象。通过定义模型、注册模型到管理界面,以及自定义管理对象的显示方式,我们可以轻松地操作数据库中的数据。

接下来的章节中,我们将探讨如何部署Django应用,准备生产环境,以便让我们的Django项目顺利上线。

30 Django管理后台之管理对象

https://zglg.work/django-zero/30/

作者

IT教程网(郭震)

发布于

2024-08-10

更新于

2024-08-10

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论