Django(3) -数据表和页面管理

管理数据表:

数据引入

修改 myAPP\admin.py 如下:

from django.contrib import admin
#Register your models here.
from .models import Grades, Students

注册

admin.site.register(Grades)
admin.site.register(Students)

自定义管理页面:

  • 属性说明:
    • 列表页属性
      list_display = [] # 显示字段设置
      list_filter = [] # 过滤字段设置
      search_fields = [] # 搜索字段设置
      list_per_page = [] # 分页设置
      
    • 添加,修改页属性
      fields = [] # 规定属性的先后顺序
      fieldsets = [] # 给属性分组 注意:fields与fieldsets不能同时使用
      
  • 属性示例:
    #列表页属性
    list_display = ['pk', 'gname', 'gdate', 'ggirlnum', 'gboynum', 'isDelete']
    list_filter = ['gname']
    search_fields = ['gname']
    list_per_page = 5
    
    # 添加,修改页属性
    # fields = ['ggirlnum', 'gboynum', 'gname', 'gdate', 'isDelete']
    fieldsets = [
    ("num",{"fields":['ggirlnum', 'gboynum']}),
    ("base", {"fields":["gname", "gdate", "isDelete"]}),
    ]
    #关联对象:需求:在创建一个班级时可以直接添加几个学生
    class StudentsInfo(admin.TabularInline):# 可选参数admin.StackedInline
    	model = Students
    	extra = 2
    class GradesAdmin(admin.ModelAdmin):
    	inlines = [StudentsInfo]
    	#布尔值显示问题示例:
    	class StudentsAdmin(admin.ModelAdmin):
    	def gender(self):
    	if self.sgender:
    	return "男"
    	else:
    	return "女"
    
  • 设置页面列的名称
    	gender.short_description = "性别"
    	list_display = ['pk', 'sname', 'sage', gender,
    	'scontend', 'sgrade', 'isDelete']
    	list_per_page = 10
    	admin.site.register(Students, StudentsAdmin)
    #执行按钮位置:
    class StudentsAdmin(admin.ModelAdmin):
    	...snip...
    	actions_on_top = False
    	actions_on_bottom = True
    	admin.site.register(Students, StudentsAdmin)
    #使用装饰器完成注册:
    @admin.register(Students)
    class StudentsAdmin(admin.ModelAdmin):
    def gender(self):
    	...snip...
    	actions_on_top = False
    	actions_on_bottom = True
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值