django admin
登录之后的界面
1 from django.db import models 2 from apps.base_model import BaseModel 3 4 5 # Create your models here. 6 7 8 class Project(BaseModel): 9 name = models.CharField(max_length=20) 10 11 class Meta: 12 db_table = ‘tbl_project‘ 13 verbose_name = ‘项目‘ 14 verbose_name_plural = verbose_name
在app的models里面创建模型类
from django.contrib import admin from .models import Project # Register your models here. admin.site.register(Project)
from django.apps import AppConfig class ApiConfig(AppConfig): name = ‘apps.api‘ verbose_name = ‘api文档‘
1 from django.contrib import admin 2 from .models import Project 3 4 5 # Register your models here. 6 7 8 class ProjectAdmin(admin.ModelAdmin): 9 list_display = [‘id‘, ‘name‘, ‘insert_time‘, ‘update_time‘] 10 11 12 admin.site.register(Project, ProjectAdmin)
创建一个管理类,继承admin.ModelAdmin,增加list_display属性,该属性为一个列表,字表里面的元素字符串都必须为被管理模型类的所有的字段,然后在注册模型类的时候将模型类的管理类一起注册
1 from django.contrib import admin 2 from .models import Project 3 4 5 # Register your models here. 6 7 8 class ProjectAdmin(admin.ModelAdmin): 9 # 显示列表页的设置 10 list_display = [‘id‘, ‘name‘, ‘insert_time‘, ‘update_time‘] # 显示的字段 11 ordering = [‘id‘] # 修改排序方式 12 list_display_links = [‘id‘, ‘name‘] # 制定字段点击跳转 13 search_fields = [‘name‘, ‘insert_time‘, ‘update_time‘] # 制定搜索字段,当该字段未被定义时,搜索功能不存在 14 list_filter = [‘insert_time‘, ‘update_time‘, ‘delflag‘] # 制定过滤字段,当该字段未被定义时,过滤功能不存在 15 list_per_page = 2 # 制定每页显示的个数 16 17 # 显示详情页的设置 18 # fields = [‘name‘, ‘delflag‘] # 制定显示详情页的内容,且和fieldsets属性冲突 19 fieldsets = [ # 将详情页的显示内容分组显示,且和fields属性冲突 20 (‘详情‘, {‘fields‘: [‘name‘]}), 21 (‘设置‘, {‘fields‘: [‘delflag‘]}), 22 ] 23 24 25 admin.site.register(Project, ProjectAdmin)
原文:https://www.cnblogs.com/ivy-blogs/p/11343286.html