📜  django 管理操作 - Python (1)

📅  最后修改于: 2023-12-03 14:40:47.603000             🧑  作者: Mango

Django 管理操作

Django是一个高效的web框架,其中最强大的一项功能就是其内置的管理系统。本文将介绍如何使用Django管理系统进行简单、快捷的数据操作,以及如何自定义管理后台。

管理后台

在Django中,我们可以通过django.contrib.admin模块轻松创建管理后台。首先,需要将其添加到INSTALLED_APPS中:

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

接着,我们需要在urls.py中配置管理后台的URL:

from django.contrib import admin
urlpatterns = [
    # ...
    path('admin/', admin.site.urls),
    # ...
]

完成这两个步骤后,我们就可以访问/admin URL来查看管理后台了。

数据操作

在管理后台中,我们可以对数据库进行CRUD(create, read, update, delete)操作。当我们想要使用管理后台管理数据时,我们需要在相应的models.py文件中定义数据模型。例如,如果我们想创建一个名为Book的数据模型,可以在models.py中这样定义:

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=50)
    publish_date = models.DateField()

    def __str__(self):
        return self.title

其中,titleauthorpublish_date是我们定义的三个字段,它们将作为数据模型的属性。__str__方法用于告诉Django如何打印我们的对象。

完成数据模型的定义后,我们需要通过管理界面注册该模型。在admin.py文件中,我们可以这样完成注册:

from django.contrib import admin
from .models import Book

admin.site.register(Book)

这将在管理后台中添加一个Book菜单,我们可以在其中添加、编辑、删除Book对象。

自定义管理后台

Django的管理后台是高度可定制的。我们可以通过在admin.py文件中定义多个类,并将它们注册到管理后台上,来为管理后台定制界面和行为。

例如,我们想要根据publish_date字段来过滤所有图书,我们可以在admin.py中创建一个继承自admin.ModelAdmin的类:

from django.contrib import admin
from .models import Book

class BookAdmin(admin.ModelAdmin):
    list_filter = ('publish_date',)

admin.site.register(Book, BookAdmin)

这个类中的list_filter属性将定义一个可以用来过滤图书的选择器。在该管理类中,我们还可以定义诸如list_display(显示的字段)、search_fields(可搜索的字段)等属性,来进一步自定义管理后台。

结论

Django的管理后台是高效、强大的,能够帮助我们更轻松地管理数据。在这篇文章中,我们了解了如何使用Django的管理后台进行数据操作,以及如何自定义管理后台。这会大大提高我们的开发效率,让我们在管理数据方面更为得心应手。