介绍
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)
更多
排序:ordering = ( , )
在界面编辑:list_editable = ( , )