介绍

django amdin是django提供的一个后台管理页面,通过Web来实现对数据的操作,而使用django admin 则需要以下步骤:

  • 创建后台管理员
  • 配置url
  • 注册和配置django admin后台管理页面

快速使用

创建后台管理员

在命令行中输入:

python manage.py createsuperuser

 

配置URL

根urls.py,一般会默认创建为:admin/

from django.contrib import admin
from django.urls import path

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

 

注册模型

在app/admin.py进行设置

from django.contrib import admin
from my_app import models

admin.site.register(models.Person)
admin.site.register(models.Hobby)

输入127.0.0.1/admin,登录进行管理。

Django admin.py

 

设置表

设置表的名称

你可以看到上图名称,它是默认的你可以进行改变。

通过:class Meta下的属性进行改变。

Django admin.py

Django admin.py

 

其他设置

打开表后的显示

Django admin.py

Django admin.py

 进入Persons

Django admin.py

这里默认返回,属性name,如果我还想显示age该如何操作。

# myapp/admin.py

from django.contrib import admin
from my_app import models

class Myperson(admin.ModelAdmin): # 继承
    list_display = ('name','age')

admin.site.register(models.Person,Myperson) # 添加该类
admin.site.register(models.Hobby)

Django admin.py

我想把NAME换成中文。

Django admin.py

Django admin.py

 

为数据添加索引功能

from django.contrib import admin
from my_app import models

class Myperson(admin.ModelAdmin): # 继承
    list_display = ('name','age')
    search_fields = ('name','age') # 可以通过名字,年龄

admin.site.register(models.Person,Myperson) # 添加该类
admin.site.register(models.Hobby)

Django admin.py

 

为数据添加过滤

from django.contrib import admin
from my_app import models

class Myperson(admin.ModelAdmin): # 继承
    list_display = ('name','age') # 搜索
    search_fields = ('name','age') # 可以通过名字,年龄
    list_filter = ('name',) # 过滤
    
admin.site.register(models.Person,Myperson) # 添加该类
admin.site.register(models.Hobby)

Django admin.py

 

更多

排序:ordering = ( , )

在界面编辑:list_editable = ( , )