Django后台admin的使用详解
Django框架提供了一个强大的后台管理系统,即Django Admin。它可以让我们快速地创建、修改和删除数据库中的数据记录,通过Django Admin,我们可以在不编写任何代码的情况下,创建一个完整的后台管理系统。下面我们来详细讲解Django Admin的使用。
配置Django Admin
在使用Django Admin之前,我们需要在Django项目中进行一些配置。具体步骤如下:
- 在项目的settings.py文件中,将django.contrib.admin应用程序添加到INSTALLED_APPS列表中。
python
INSTALLED_APPS = [
# ...
'django.contrib.admin',
# ...
]
- 然后,在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技术站