Django Admin 管理工具


Django Admin 管理工具

Django Admin是用于管理和维护Django项目的Web应用程序。它可以访问项目中模型(Model),并提供了一个用户友好的界面,用于执行常见的维护任务,例如创建,读取,更新和删除(CRUD)操作。Django Admin的界面是非常易于使用的,而且可以在很大程度上定制。

实现步骤

Django Admin提供了几个步骤,以实现一个完整的CRUD操作:

1.定义模型(Model):模型是应用程序和数据库之间数据的桥梁。它定义数据的各种属性和规则.

2.注册模型:为了在Django Admin中显示模型,需要在应用程序的admin.py文件中注册模型。

3.自定义显示表单:默认情况下,Django Admin将显示模型中所有的字段。您可以使用ModelAdmin类来更改它们的外观或行为。

4.自定义列表:默认情况下,Django Admin将显示所有的模型实例。您可以使用ModelAdmin类来定制模型实例的列表,例如添加,删除或重新排列列。

5.自定义URL:您也可以更改Django Admin的URL以便根据需要更改其行为和外观。

实例演示

假设我们正在开发一个名为myapp的Django应用程序。该应用程序将包含一个名为Task的模型,该模型包含以下字段:title,description,completed。

为了在Django Admin中注册该模型并可视化其数据,需要在myapp的admin.py文件中注册“Task”模型。例如:

from django.contrib import admin
from .models import Task

admin.site.register(Task)

默认情况下,Django Admin将显示所有Task模型实例的列表。如果您想自定义此列表,可以使用ModelAdmin.list_display属性。

以下是一个示例,显示Task列表中的title,description和completed字段:

from django.contrib import admin
from .models import Task

class TaskAdmin(admin.ModelAdmin):
    list_display = ('title', 'description', 'completed')

admin.site.register(Task, TaskAdmin)

如果您想自定义URL,并将Task模型的查看页面更改为myapp/task/,可以使用ModelAdmin.get_urls()方法。

以下是一个示例,完成以上任务:

from django.conf.urls import url
from django.contrib import admin
from django.urls import path
from .models import Task
from .views import TaskDetail

class TaskAdmin(admin.ModelAdmin):
    list_display = ('title', 'description', 'completed')

    def get_urls(self):
        urls = super().get_urls()
        custom_urls = [
            url(
                r'^(?P<id>\d+)/$',
                self.admin_site.admin_view(TaskDetail.as_view()),
                name='task-detail',
            ),
        ]
        return custom_urls + urls

admin.site.register(Task, TaskAdmin)

此代码将TaskDetailView中的实例ID添加到URL中,并将其命名为“task-detail” URL。

这远远不是Django Admin可以做到的全部。Django的管理界面还提供了许多定制选项,帮助开发人员更轻松地管理其应用程序。通过使用适当的定制,Django Admin可以变得更强大、更灵活,并且可以极大地提高开发人员的生产力。