Django admin.py

介绍

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,登录进行管理。

设置表的名称

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

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

其他设置

打开表后的显示

 进入Persons

这里默认返回,属性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)

我想把NAME换成中文。

为数据添加索引功能

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)

为数据添加过滤

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)

猜你喜欢

转载自www.cnblogs.com/py-peng/p/12636173.html