28 Django的管理后台之使用管理后台

Django 的管理后台提供了强大的功能,让我们能够方便地管理应用中的数据。在上一篇文章中,我们讨论了用户认证与权限控制,了解了如何为用户分配适当的权限,从而细化对管理后台的访问控制。在本篇中,我们将深入探讨如何使用 Django 提供的管理后台来进行数据的管理和操作。

管理后台简介

Django 的管理后台是一个内置的 Web 应用程序,允许你通过一个很少的配置就能管理你应用中的模型。通过 Django Admin,你可以快速地进行数据的增删改查,极大地提升开发效率。

启用 Django 管理后台

在Django项目中,管理后台默认是已经包含的,但需要在settings.py中确保django.contrib.admin被列入INSTALLED_APPS中。默认情况下,Django 的管理后台已经为你提供了一些基础功能,你只需要简单的配置即可使用。

1
2
3
4
5
6
7
8
9
10
11
12
# settings.py

INSTALLED_APPS = [
# 其他应用...
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 你的应用...
]

接下来,你需要创建超级用户账号,用于登录到管理后台。

1
python manage.py createsuperuser

执行该命令后,你会被提示输入用户名、电子邮件和密码。

管理后台的基本使用

启动开发服务器

确保你已经设置好数据库,并且进行了迁移。然后可以启动 Django 的开发服务器:

1
python manage.py runserver

在浏览器中访问 http://127.0.0.1:8000/admin,你会看到 Django 提供的登录界面。使用你刚刚创建的超级用户账号登录。

浏览和操作数据

登录后,你将看到管理后台的主界面,里面列出了你在app中注册的模型。例如,如果你有一个 Blog 模型,你可以为其注册管理后台。

1
2
3
4
5
6
7
8
# admin.py

from django.contrib import admin
from .models import Blog

@admin.register(Blog)
class BlogAdmin(admin.ModelAdmin):
list_display = ('title', 'published_date')

通过上面的代码,我们将 Blog 模型添加到管理后台,并指定在列表中显示 titlepublished_date

进行数据操作

  • 添加数据:点击模型,选择“添加”,然后填写相关字段并保存。
  • 查看数据:在模型的列表界面,你可以方便地查看所有数据项,并进行筛选和排序。
  • 删除数据:选中数据后,可以选择删除相关的数据项。

这种交互式的管理体验可以帮助开发者减少编写数据操作代码的需要。

管理后台的搜索与过滤

Django Admin 支持强大的搜索和过滤功能。你可以通过在 ModelAdmin 中添加一些属性来启用它们。

1
2
3
4
5
@admin.register(Blog)
class BlogAdmin(admin.ModelAdmin):
list_display = ('title', 'published_date')
search_fields = ('title',) # 允许通过标题进行搜索
list_filter = ('published_date',) # 按发布日期进行过滤

搜索功能

上述示例中添加了 search_fields 属性,使得用户可以通过输入字符快速搜索相应的博客标题。

过滤功能

使用 list_filter 属性后,用户可以通过旁边的过滤器选项快速筛选出相关数据。

理解用户权限控制

在上一篇文章中,我们已经介绍了用户权限的基本操作。在管理后台中,用户的权限将影响他们可见的模型和操作类型。例如,某用户如果没有相应的 ADD 权限,他们将无法添加新的数据项。

在管理后台中,我们可以根据用户的角色和权限,灵活地定义哪些用户能够看到和操作哪些数据。这样,我们能够有效地保护数据的安全性与完整性。

小结

在本篇教程中,我们探讨了如何使用 Django 的管理后台进行数据管理。Django Admin 提供了许多便利的功能,包括数据的增删改查、搜索和过滤等。通过合理的用户权限控制,我们可以确保只有授权的用户才能访问和操作敏感数据。

在下一篇文章中,我们将进一步深入探讨如何自定义管理界面,让我们的后台不仅仅是一个功能简单的 CRUD 工具,而是一个符合我们业务需求的强大应用界面。通过一些自定义操作,我们将能够提升用户体验,使得管理任务变得更加顺畅。请继续关注!

28 Django的管理后台之使用管理后台

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

作者

AI免费学习网(郭震)

发布于

2024-08-10

更新于

2024-08-10

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论