admin
from django.contrib import admin from app01 import models from .utils.to_excel import to_excel # Register your models here. class StudentAdmin(admin.ModelAdmin): """配置后台显示的内容 传给注册信息""" list_display = ('name', 'age', 'gender', 'phone', 'height', 'weight', 'school', 'grade', 'create_date') # 显示的字段 # list_editable = ('phone', ) # 可编辑的字段,M2M不能设为可编辑 # filter_horizontal = ('name',) # 查询框,M2M # list_per_page = (3)#设置分页 search_fields = ('name', 'age', 'gender') # 可以以哪些字段搜索 list_filter = ('create_date', 'school', 'grade') # 设置分类查询 # ordering = ('-id',) # 设置默认以哪个字段排序('-id',)降序 # fieldsets = [ # 显示部分字段,其余折叠 # (None, {'fields': ['name']}), # ('price information', {'fields': ['price', "publish", 'pub_date', 'authors'], 'classes': ['collapse']}), # ] add_form_template = '' def export(self, request, queryset): """ 下拉框多选操作,导出选中内容至excel :param request:request :param queryset: 选中的数据 :return: """ to_excel(queryset) export.short_description = '导出' # 下拉框显示的信息,func为执行的操作 actions = [export, ] admin.site.register(models.StudentInfo, StudentAdmin) admin.site.register(models.School)
定制admin登录页面:
django找模板的顺序:先在项目下的templates,找不到则到app下的templates找,因此可在项目下的templates创建同名html覆盖app下的heml。
创建templates/admin/base_site.html
{% extends "admin/base.html" %} {% block title %}{{ title }} 修改title {% endblock %} {% block branding %} <h1 id="site-name"><a href="{% url 'admin:index' %}"> 修改登录框信息 </a></h1> {% endblock %} {% block nav-global %}{% endblock %}