📅  最后修改于: 2023-12-03 14:50:54.095000             🧑  作者: Mango
Django Admin 是一个内置的后台管理界面,允许程序员快速创建一个用于管理模型的可视化界面,包括增删改查等操作。本文将介绍如何在 Django Admin 中编辑模型。
首先,我们需要创建一个模型。这可以通过 Django 的模型系统完成。以下是一个示例模型:
from django.db import models
class Foo(models.Model):
name = models.CharField(max_length=20, blank=True)
value = models.IntegerField(default=0)
def __str__(self):
return self.name
要在 Django Admin 中编辑模型,我们需要先注册模型。这可以通过在 admin.py
文件中完成。以下是一个示例:
from django.contrib import admin
from .models import Foo
admin.site.register(Foo)
现在,如果我们启动服务器并访问 /admin
页面,我们将看到一个名为 "Foos" 的链接。单击链接将导航至一个空列表页面。
现在我们已经注册了我们的模型,我们可以开始编辑它了。我们可以在 admin.py
文件中添加新的类来定义 Foo
模型的编辑界面。以下是一个示例:
class FooAdmin(admin.ModelAdmin):
list_display = ('name', 'value')
fields = ('name', 'value')
admin.site.register(Foo, FooAdmin)
在这个示例中,我们创建了一个名为 FooAdmin
的新类,并将其作为第二个参数传递给 admin.site.register()
函数。这个类定义了一个显示 name
和 value
列表的列表页,并允许用户编辑 name
和 value
字段的表单页。
除了上述基础编辑功能之外,Django Admin 允许通过定义各种函数来定制编辑页面。以下是一些常见的函数:
定义在列表页中显示的列。以下是一个示例:
class FooAdmin(admin.ModelAdmin):
list_display = ('name', 'value')
在这个示例中,我们定义了一个仅包含 name
和 value
列的列表。
定义在表单页面中显示的字段。以下是一个示例:
class FooAdmin(admin.ModelAdmin):
fields = ('name', 'value')
在这个示例中,我们定义了一个仅包含 name
和 value
字段的表单页面。
允许用户在搜索栏中搜索模型。以下是一个示例:
class FooAdmin(admin.ModelAdmin):
search_fields = ['name']
在这个示例中,我们定义了一个仅包含 name
字段的搜索栏。
定义过滤器,该过滤器将显示在页面中。以下是一个示例:
class FooAdmin(admin.ModelAdmin):
list_filter = ('name', 'value')
在这个示例中,我们定义了一个将显示 name
和 value
列过滤器的页面。
在 Django Admin 中编辑模型是一个非常简单和快速的过程,可以为您的应用程序提供一个可视化界面,方便用户管理数据。通过使用以上介绍的定制函数,您可以进一步定制编辑页面,以完全符合您的需求。