django-19.admin后台自定义显示

前言

django的admin后台默认显示的内容很少,只显示了表的相关信息,查看字段内容需点开详情才能查看,不是很直观。
在admin.py文件里面是可以自定义相关的展示内容的,也可以添加搜索框,快速的搜索相关内容

优化列表显示

django的表信息列表显示默认值显示了表的相关属性

如果我们想让表里面的字段内容全部显示出来,需在admin.py文件添加list_display 属性,相关代码如下

# admin.py
from django.contrib import admin
from hello import models

# Register your models here.

class ControlUser(admin.ModelAdmin):
    ‘‘‘自定义列表中栏目 添加list_display 属性‘‘‘
    list_display = (‘user_name‘, ‘psw‘, ‘mail‘)   # 设置显示的字段

# User表
admin.site.register(models.User, ControlUser)

admin.site.register(models.Person)

修改后刷新页面,就可以看到显示相关字段的内容了

添加搜索

数据库里面信息很多的时候,为了方便快速的找到想要的数据,可以添加一个搜索功能, 可以用search_fields 为该列表页增加搜索栏:
在上面的代码基础上添加一个search_fields 熟悉,设置搜索的条件,按user_name搜索

from django.contrib import admin
from hello import models

# Register your models here.

class ControlUser(admin.ModelAdmin):
    ‘‘‘自定义列表中栏目 添加list_display 属性‘‘‘
    # 显示的字段
    list_display = (‘user_name‘, ‘psw‘, ‘mail‘)
    # 搜索条件user_name
    search_fields = (‘user_name‘,)

# User表
admin.site.register(models.User, ControlUser)

admin.site.register(models.Person)

刷新页面,就会多一个搜索框

搜索的内容,是可以支持模糊匹配的

装饰器方法

除了上面的写法,还有一种装饰器的方法也可以实现同样的效果

from django.contrib import admin
from hello.models import User,Person

# Register your models here.

@admin.register(User)
class ControlUser(admin.ModelAdmin):
    ‘‘‘自定义列表中栏目 添加list_display 属性‘‘‘
    # 显示的字段
    list_display = (‘user_name‘, ‘psw‘, ‘mail‘)
    # 搜索条件user_name
    search_fields = (‘user_name‘,)

admin.site.register(Person)

原文地址:https://www.cnblogs.com/jason89/p/10359450.html

时间: 2024-10-30 21:40:30

django-19.admin后台自定义显示的相关文章

自定义路由组件,Django的admin后台管理,DRF的三大认证,jwt认证

目录 一.自定义路由组件 1. 为什么要自定义路由组件 2. 自定义路由组件实例 二.Django的admin后台管理 三.DRF的三大认证组件概括 1. 认证组件 2. 权限组件 3. 频率组件 四.Django中的用户权限管理 五.jwt认证 1. jwt认证和普通session认证的区别 2. jwt认证介绍 (1)jwt的原理 (2)jwt三部分的内容 3. jwt的签发算法 (1)第一步:头部算法 (2)第二步:载荷部分的算法 (3)第三步:签名部分的算法 (4)第四步:连接生成tok

django的admin后台注册model并显示

在admin后台注册model并显示其他字段: 修改app下的admin.py,注册model: from .models import vmadmin.site.register(vm) #注册名为vm的model 在admin后台会显示vm内容,但是默认只显示model中return的字段: 比如要显示名为hv的model中的其他字段,修改admin.py如下: from .models import hv,vm admin.site.register(vm) class hvAdmin(a

Django的admin后台

ModelAdmin对象 ModelAdmin类的简单使用 该ModelAdmin是在管理界面模型的表示.通常这些文件存储在admin.py应用程序中命名的文件中.让我们来看一个示例ModelAdmin: from django.contrib import admin from myproject.myapp.models import Author class AuthorAdmin(admin.ModelAdmin): pass admin.site.register(Author, Au

利用celery+django 在admin后台设置定时任务

经常用python开发web应用时,会涉及到定时任务的脚本,以前用linux自带的crontab来操作,但是感觉不太接地气,后来发现用celery+django 可以方便的实现! 安装软件环境如下: python 2.7.5 Django==1.8.2 celery==3.1.18 celery-with-redis==3.0 django-celery==3.1.16 MySQL-python==1.2.3 supervisor==3.1.3 使用pip方式安装完以上软件,并且默认系统已经安装

第四章:Django模型——admin后台管理

1. 通过 Django自带的admin 后台来管理用户,管理刚刚创建的 发布会表和嘉宾表 打开文件位置:sign/admin.py 文件 2. 在 admin.py 文件中将 发布会表和嘉宾表 添加到 admin 中. 3.  访问 admin 地址: http://localhost:8000/admin  需要登陆用户名和密码:admin/adminadmin

继续完成昨天的第一个点:更改DJANGO的ADMIN后台的表单显示

遇到的问题是MANYTOMANY的选项太多,默认的DJANGO一个多选框搞得人蛋疼, 于是作了一个扩展,不是最好的,但方便多啦.. 也是在昨天说过的各个app的admin.py里操作: from django.forms import CheckboxSelectMultiple # Register your models here. class SiteForm(forms.ModelForm): class Meta: forms.model = Site widgets = { 'app

django 之admin后台管理

数据库 1 from django.db import models 2 from django.contrib.auth.models import User 3 from django.contrib.auth.models import ( 4 BaseUserManager, AbstractBaseUser,PermissionsMixin 5 ) 6 from django.utils.translation import ugettext_lazy as _ 7 from djan

Django在admin模块中显示auto_now_add=True或auto_now=True的时间类型列

在Django如果model中的列定义了auto_now_add或auto_now属性,那么这种列不会在admin的页面中显示,比如: class Blog(models.Model): ... create_time = models.DateTimeField(auto_now_add=True) update_time = models.DateTimeField(auto_now=True) 其中的create_time和update_time均不会显示在admin页面中. 查看Djan

django-18.admin后台中文版

前言 django的admin后台页面默认是英文的,不喜欢英文的话,可以改下setting.py里面的语言设置,改成中文版的显示 语言设置 打开setting.py,找到以下内容 # Internationalization # https://docs.djangoproject.com/en/2.1/topics/i18n/ LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC' USE_I18N = True USE_L10N = True USE_TZ = T