models 在 models.py 中定义,每个 model 是一个 class:

from django.db import models
class PerformanceData(models.Model):
name = models.CharField('name', max_length=200, unique=True)
date = models.DateTimeField('date')

自定义 object 的显示

def __unicode__(self): # 如果是 python3 使用 __str__
return u'%s %s' % (self.name, self.date)

在 admin.py 中定义 PerformanceDataAdmin 继承 admin.ModelAdmin, 进一步对 model 进行设置:

class PerformanceDataAdmin(admin.ModelAdmin):
list_display=('name', 'date') # 显示表格的表头
list_per_page = 50 # 每页显示 50 条记录
ordering = ('-name',) # 用 name 属性排序, '-' 表示倒序排列
list_filter =('name', 'date') # 设置过滤器
search_fields =('name', 'date') # 设置搜索框中允许搜索的字段
actions = [add_one_copy,] # 添加一个 action, 需要定义函数 add_one_copy admin.site.site_header = 'Test Management' # 设置标题
admin.site.site_title = 'Test Management' # 设置标题
admin.site.register(PerformanceData, PerformanceDataAdmin) # 注册

设置字段颜色,在 models.py 中定义新的字段如下:

from django.db import models
from django.utils.html import format_html class PerformanceData(models.Model):
name = models.CharField('name', max_length=200, unique=True)
date = models.DateTimeField('date')
def colored_name(self):
if self.name == '':
color_code = 'green'
else:
color_code = 'red' return format_html(
'<span style="color: #{};">{}</span>',
color_code,
self.name,
)

在 admin.py 中需要改为

list_display=('colored_name', 'date') # 显示表格的表头

更改表头的显示文字

colored_name.short_description = 'MY_NAME'

注意,要先为字段在 models.py 中定义一个类似 colored_name 的方法,并设置 short_description,然后在 admin.py 的 list_display 中使用这个新的方法定义。例如:

class PerformanceData(models.Model):
name = models.CharField('name', max_length=200, unique=True)
date = models.DateTimeField('date')
def short_date(self):
return self.date
    short_date.short_description = 'MY_DATE'
list_display=('colored_name', 'short_date') # 显示表格的表头

为表格添加 actions

def add_one_copy(modelAdmin, request, queryset):
add_one_copy.short_description = 'Select and add one copy'
for i in queryset:
print(i.date)
class PerformanceDataAdmin(admin.ModelAdmin):
actions = [add_one_copy,] # 添加一个 action, 需要定义函数 add_one_copy

为 model 添加 create 函数,可以调用这个函数增加新的条目

from django.db import models
from datetime import * class PerformanceData(models.Model):
name = models.CharField('name', max_length=200, unique=True)
date = models.DateTimeField('date')
@classmethod
def create(cls, _name, _date):
obj = cls(name=_name, date=_date)
return obj
obj = PerformanceData.create('hello', datetime(1980,10,11))
obj.save()

Django admin 设置和定制的更多相关文章

  1. django admin 设置(转载https://www.cnblogs.com/wumingxiaoyao/p/6928297.html)

    Django admin 一些有用的设置   Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据.后台管理可以在各个app的admin.py文件中进行控制.以下是我最近摸 ...

  2. Django Admin 配置和定制基本功能(基本二次开发配置)

    一 列表显示页面  1. list_display,列表时,定制显示的列 @admin.register(models.UserInfo) class UserAdmin(admin.ModelAdm ...

  3. django admin的自定制

    from django.contrib import admin # Register your models here. from .models import * from django.util ...

  4. Django admin自定制功能

    一:基础设置 1.应用注册 1)方式一 若要把app应用显示在后台管理中,需要在admin.py中注册.打开admin.py文件,如下代码: from django.contrib import ad ...

  5. Django admin 一些有用的设置

      Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据.后台管理可以在各个app的admin.py文件中进行控制.以下是我最近摸索总结出比较实用的配置.若你有什么比较好的 ...

  6. DJANGO ADMIN 一些有用的设置(转)

    DJANGO ADMIN 一些有用的设置   Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据.后台管理可以在各个app的admin.py文件中进行控制.以下是我最近摸 ...

  7. django之admin设置

    Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据.后台管理可以在各个app的admin.py文件中进行控制.以下是我最近摸索总结出比较实用的配置.若你有什么比较好的配置 ...

  8. Django admin定制化,User字段扩展[原创]

    前言 参考上篇博文,我们利用了OneToOneField的方式使用了django自带的user,http://www.cnblogs.com/caseast/p/5909248.html , 但这么用 ...

  9. Django Admin 图片路径设置显示为图片(imageField显示方法设置)

    一  使用环境 开发系统: windows IDE: pycharm 数据库: msyql,navicat 编程语言: python3.7  (Windows x86-64 executable in ...

随机推荐

  1. web-CSS居中大全

    居中是我们使用css来布局时常遇到的情况.使用css来进行居中时,有时一个属性就能搞定,有时则需要一定的技巧才能兼容到所有浏览器,本文就居中的一些常用方法做个简单的介绍. 注:本文所讲方法除了特别说明 ...

  2. TVM:一个端到端的用于开发深度学习负载以适应多种硬件平台的IR栈

    TVM:一个端到端的用于开发深度学习负载以适应多种硬件平台的IR栈  本文对TVM的论文进行了翻译整理 深度学习如今无处不在且必不可少.这次创新部分得益于可扩展的深度学习系统,比如 TensorFlo ...

  3. 使用docker构建supervisor全步骤

    1.使用docker build 命令基于Dockerfile文件进行构建supervisor镜像,命令:docker build -t supervisor镜像名 Dockerfile文件放置的位置 ...

  4. git push 到 github

    今天来简单整理一下,如何利用git命令把代码提交到GitHub平台上去,当然要提交代码到GitHub上去,您首先得要有GitHub账号,账号如何申请这里就不多做解释了 第一步:先到官网下载git安装包 ...

  5. Cypress自动化测试系列之二

    本文技术难度★★★,如果前编内容顺利执行,请继续. 如果Selenium尚无法灵活运用的读者,本文可能难度较大. “理论联系实惠,密切联系领导,表扬和自我表扬”——我就是老司机,曾经写文章教各位怎么打 ...

  6. 团队作业-Beta冲刺(周五)

    一. 这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/ 这个作业要求在哪里 https://edu.c ...

  7. primer看完了

    放假这将近十天吧,终于把C++ Primer中文版第五版大致看完了,然而第四部分(高级主题)还是没有看,感觉那是需要有足够的项目经验再看. 另外,看一遍肯定不够,忘得也会很快,我十分确认今后还会很多次 ...

  8. echarts-all.js:1 Uncaught TypeError: Cannot read property 'getAttribute' of null

    转载:https://blog.csdn.net/you23hai45/article/details/51595108 由于echarts图形ID是由后台传输过来的,并且是根据图形数据一起传过来,出 ...

  9. noi.ac NA534 【猫】

    一眼暴力DP 再一眼决策单调性? 打个表以为是四边形不等式?? 最后发现是斜率优化??? 于是成功写了个假斜率优化真四边形不等式拿了\(80\) 设\(f[i][j]\)表示有\(i\)个工作人员出发 ...

  10. 【HDU2204】Eddy's爱好

    题目大意:求从 1 到 N 中共有多少个数可以表示成 \(M^K,K \gt 1\).\(N \le 1e18\) 题解: 发现 N 很大,若直接枚举 M 的话有 1e9 级别的数据量,肯定超时,因此 ...