Django后台admin的使用详解

Django后台admin的使用详解

Django框架提供了一个强大的后台管理系统,即Django Admin。它可以让我们快速地创建、修改和删除数据库中的数据记录,通过Django Admin,我们可以在不编写任何代码的情况下,创建一个完整的后台管理系统。下面我们来详细讲解Django Admin的使用。

配置Django Admin

在使用Django Admin之前,我们需要在Django项目中进行一些配置。具体步骤如下:

  1. 在项目的settings.py文件中,将django.contrib.admin应用程序添加到INSTALLED_APPS列表中。

python
INSTALLED_APPS = [
# ...
'django.contrib.admin',
# ...
]

  1. 然后,在project/urls.py文件中,将django.contrib.admin应用程序的URL设置添加到项目URLconf中。即在urlpatterns列表中包含:

```python
from django.contrib import admin

urlpatterns = [
path('admin/', admin.site.urls),
]
```

完成以上两步后,我们已经完成了Django Admin的基本配置。现在,我们可以访问http://localhost/admin/来访问我们的Django Admin后台。

创建管理站点(Site)和管理模型(Model)

在Django Admin中,我们可以为一个或多个Django应用程序添加管理站点(Site),每个站点对应一个URL。我们还可以在站点下为多个模型(Model)添加自定的管理页面,每个模型对应一个关系数据库表。

创建管理站点(Site)

默认情况下,我们已经创建了一个名为admin的管理站点。如果我们需要创建一个新的管理站点,我们可以使用admin.site.register()函数。例如,我们可以创建一个名为myadmin的管理站点:

from django.contrib.admin import AdminSite

class MyAdminSite(AdminSite):
    site_title = 'My Admin Site'
    site_header = 'My Admin'

myadmin = MyAdminSite(name='myadmin')

将上述代码添加到项目的某个Python模块中,然后将myadmin管理站点添加到project/urls.py文件中:

from django.contrib import admin

from .admin import myadmin

urlpatterns = [
    path('admin2/', myadmin.urls),
    path('admin/', admin.site.urls),
]

这里我们将Django Admin默认的admin管理站点和我们自定义的myadmin管理站点都添加到了URLconf中。

创建管理模型(Model)

在Django应用程序中,我们可以创建多个模型,每个模型都对应一个关系数据库表。我们可以使用Django Admin为这些模型创建自定义的管理页面。

我们可以使用ModelAdmin类来自定义模型的管理页面。我们可以在ModelAdmin子类中设置一些属性和方法,以自定义模型的管理页面的行为和显示。下面我们将讨论如何自定义模型的管理页面。

自定义ModelAdmin

我们可以使用Django Admin的ModelAdmin类为我们的模型创建自定义的管理页面。我们可以在子类中设置一些属性和方法来自定义模型的管理页面的行为和显示。下面我们将讨论如何自定义模型的管理页面。

显示模型列表

如果我们需要在模型管理页面上显示列表,请创建一个ModelAdmin子类,并设置list_display属性。这个属性定义了哪些字段列在模型列表中。默认情况下,只有模型的__str__ ()方法的返回结果列在模型列表中。

例如,如果我们有一个Book模型,我们希望在模型列表中显示 book_title、author 和 publish_year 三个字段,我们可以创建一个BookAdmin类,并设置 list_display属性:

from django.contrib import admin
from .models import Book

class BookAdmin(admin.ModelAdmin):
    list_display = ('book_title', 'author', 'publish_year')

admin.site.register(Book, BookAdmin)

现在你已经在Django Admin后台看到了具体的模型列表。

过滤和搜索模型

Django Admin还允许我们过滤模型并搜索它们。我们可以使用list_filter和search_fields属性来过滤和搜索模型。

例如,如果我们想在Book管理员页面上添加一个过滤器,以允许管理员按作者过滤图书,则可以更改BookAdmin类:

class BookAdmin(admin.ModelAdmin):

    list_display = ('book_title', 'author', 'publish_year')

    # Add filter by 'author'
    list_filter = ('author', )

    search_fields = ('book_title', 'author')

现在,我们在Django Admin后台已经添加了一个 'author' 的过滤器,管理员可以使用它来过滤图书。同时, 我们为后台页面添加了一个文本框,让管理员输入书名或作者的名字,以便快速搜索目标。

结束语

在本文中,我们介绍了如何在Django中使用Django Admin来创建自定义后台管理页面。我们学习了如何创建管理站点和管理模型,以及如何自定义模型的列表、搜索和过滤行为。这样,我们可以轻松地为我们的应用程序创建一个可自定义的管理页面,方便我们快速操作数据记录并进行管理。

示例说明

以上是Django后台admin的使用详解。我们在内容中添加了两个示例来阐述相关的概念和方法。第一个示例是创建一个新的管理站点,它演示了如何创建一个新的站点并将其添加到Django项目中。第二个示例是自定义ModelAdmin,它演示了如何在模型的管理页面中自定义列表、搜索和过滤行为。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Django后台admin的使用详解 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • django 中 Oauth2 实现第三方登陆

      python网站第三方登录,social-auth-app-django模块, social-auth-app-django模块是专门用于Django的第三方登录OAuth2协议模块 目前流行的第三方登录都采用了OAuth2协议   安装: pip install social-auth-app-django   setting 配置: 添加应用,   …

    2023年4月10日
    00
  • Django form表单的校验、局部钩子及全局钩子

    #form表单的校验、局部钩子及全局钩子# ## views.py 视图函数 ## from django import forms #调用forms模块 from django.forms import widgets #调用widgets模块,用来对form组件的参数配置。 from django.core.exceptions import Valid…

    Django 2023年4月13日
    00
  • Web框架Django(二)

    到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行数据库操作 import MySQLdb def GetList(sql): db = MySQLdb.connect(user=’root’, db=’wupeiqidb…

    Django 2023年4月16日
    00
  • Python中DJANGO简单测试实例

    下面是详细讲解“Python中DJANGO简单测试实例”的完整攻略。 1. 简介 Django是一个高级Web框架,它基于Python语言构建。Django的官方文档提供很好的入门教程,但是这些教程在实践中可能会遇到一些问题。本文将提供一个更详细的DJANGO简单测试实例教程,其中包含了两个示例,可以帮助你更好地入门Django。 2. 示例一 2.1 创建…

    Django 2023年5月16日
    00
  • Django QueryDict对象详解

    QueryDict是Django中处理查询字符串的对象,它继承自字典对象,提供了一些方法来处理带有重复键的查询字符串。在本文中,我们将详细介绍QueryDict对象的属性和方法,以及如何使用它来处理查询字符串。 创建QueryDict对象 在Django中,QueryDict对象可以通过访问HttpRequest对象的属性来创建,例如,如果我们有一个GET请…

    Django 2023年3月12日
    00
  • Django信号机制执行过程及其应用

    Django信号机制是它框架中的核心部分,用于执行某些操作时触发某些事件。例如,在保存一个模型实例时,我们可以使用信号来在保存前或保存后执行某些操作。 Django信号机制的基本执行流程如下: 为信号定义一个接收器函数(或回调函数),该函数将在信号被发送时执行。 将接收器函数与信号关联。 当信号被发送时,所有与之关联的接收器函数都将被执行。 下面是一个简单的…

    Django 2023年3月13日
    00
  • django美化后台django-suit的安装配置操作

    下面我将为您详细讲解如何使用django-suit美化django后台管理界面: 安装django-suit 安装django-suit pip install django-suit 将django-suit添加到INSTALLED_APPS中: python INSTALLED_APPS = [ # … ‘suit’, # … ] 在settin…

    Django 2023年5月16日
    00
  • Python使用django搭建web开发环境

    下面是详细讲解使用 Django 搭建 Web 开发环境的完整攻略。 准备工作 在开始 Django 开发前,我们需要确保本地已正确安装 Python 和 pip 等开发工具。 安装 Python 在官网下载 Python 安装包,双击下载的安装程序执行安装即可。安装完成后,打开终端或命令提示符,输入以下命令验证 Python 是否安装成功: python …

    Django 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部