django admin后管定制-显示字段的实例


Posted in Python onMarch 11, 2020

先说需求:

1、django 自带了admin后管,如果我们需要使用,只需把我们定义的models注册即可;

2、但如果只是简单注册,那显示的很简单,根本看不到每行记录的描述信息,全部以model object 形式显示,必须点击进去才能看到信息,太不方便,如下图:

django admin后管定制-显示字段的实例

1、显示关键信息

效果如下图,这样就好看多啦。

django admin后管定制-显示字段的实例

2、配置

在 admin.py 文件中配置一下就行。

admin.py

# Underwriter admin model
class UnderwriterAdmin(admin.ModelAdmin):
  # 需要显示的字段信息
  list_display = ('id', 'underwriter', 'shortname', 'telephone')

  # 设置哪些字段可以点击进入编辑界面,默认是第一个字段
  list_display_links = ('id', 'underwriter')

# 注册时,在第二个参数写上 admin model
admin.site.register(Underwriter, UnderwriterAdmin)

3、答疑

为何开始没设置时,显示的是 model object 形式呢 ??

原来是在定义 model 时,漏掉了一个步骤:

# 承销商 model
class Underwriter(models.Model):
  underwriter = models.CharField(max_length=50)
  shortname = models.CharField(max_length=50)
  telephone = models.CharField(max_length=50)
  email = models.CharField(max_length=50, null=True, blank=True)

  # 应该加上这步,表示显示时返回的是自定义信息,而不是 object 形式
  def __unicode__(self):       # __str__ on Python 3
    return self.underwriter

补充知识:django 自定义用户表和使用admin来管理数据库

django 自定义用户表

在使用django操作数据库时,django中生成默认的User表,其中的字段已经可以满足我们的日常需求。但有时候,我们自己需要更多的字段,我们就可以自定义用户表。来替换django自带的User表。

from django.db import models
from django.contrib.auth.models import AbstractUser

class User(AbstractUser):
  phone = models.CharField(max_length=11, null=True, blank=True)
  nickname = models.CharField(max_length=50, null=True, blank=True)
  img = models.ImageField(upload_to="upload/", default="static/upload/a.jpg", max_length=100)
  # upload_to 图像上传地址
  class Meta:
    db_table = "user"
   verbose_name = '用户'
    verbose_name_plural = verbose_name

注意,User类需要继承AbstractUser;

在settings.py 中添加:

AUTH_USER_MODEL = 'app名.类名'

在命令行中输入命令,生成用户表。

db_table = “user” 自定义表名为user

Django 使用admin来管理数据库中的内容

Django提供了自带的admin功能,可以很方便的管理网站。首先要运行python manage.py createsuperuser 命令来创建一个管理员账户。

django admin后管定制-显示字段的实例

注意需要输入用户名,邮箱,密码等信息。

在admin.py中注册模型:

from django.contrib import admin
#引入要注册的模型
from music.models import Music
from music.models import Banner
from user.models import User
# Register your models here.注册
admin.site.register(Music)
admin.site.register(Banner)
admin.site.register(User)

用浏览器访问http://127.0.0.1:8000/admin/,输入注册的管理员账户和密码。

django admin后管定制-显示字段的实例

可以对数据库表进行简单的增删改查。

设置模型 models 的中文名,在models.py 类中添加:

class Meta:
 # 设置模型的名字,但是记得复数形式也要设置,否则有些地方就变成 verbose_name + s 了
 verbose_name = '用户'
  verbose_name_plural = verbose_name

刷新admin界面

django admin后管定制-显示字段的实例

以上这篇django admin后管定制-显示字段的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Pthon批量处理将pdb文件生成dssp文件
Jun 21 Python
python获取元素在数组中索引号的方法
Jul 15 Python
python自动翻译实现方法
May 28 Python
初学python的操作难点总结(新手必看篇)
Aug 03 Python
Python实现图片转字符画的示例代码
Aug 21 Python
Python3爬虫全国地址信息
Jan 05 Python
Python基于matplotlib画箱体图检验异常值操作示例【附xls数据文件下载】
Jan 07 Python
对python周期性定时器的示例详解
Feb 19 Python
python 实现保存最新的三份文件,其余的都删掉
Dec 22 Python
Python基础之变量基本用法与进阶详解
Jan 03 Python
Python爬虫模拟登陆哔哩哔哩(bilibili)并突破点选验证码功能
Dec 21 Python
python实现学生通讯录管理系统
Feb 25 Python
Python 3.8 新功能来一波(大部分人都不知道)
Mar 11 #Python
屏蔽Django admin界面添加按钮的操作
Mar 11 #Python
在Mac中PyCharm配置python Anaconda环境过程图解
Mar 11 #Python
python实现飞机大战项目
Mar 11 #Python
Django 自定义权限管理系统详解(通过中间件认证)
Mar 11 #Python
Django User 模块之 AbstractUser 扩展详解
Mar 11 #Python
pygame实现飞机大战
Mar 11 #Python
You might like
人尽可用的Windows技巧小贴士之下篇
2007/03/22 PHP
PHP 中的批处理的实现
2007/06/14 PHP
PHP原生函数一定好吗?
2014/12/08 PHP
CodeIgniter常用知识点小结
2016/05/26 PHP
laravel 模型查询按照whereIn排序的示例
2019/10/16 PHP
ajax无刷新动态调用股票信息(改良版)
2008/11/01 Javascript
JS input 数字验证代码
2009/07/30 Javascript
在Ajax中使用Flash实现跨域数据读取的实现方法
2010/12/02 Javascript
那些年,我还在学习jquery 学习笔记
2012/03/05 Javascript
Javascript和HTML5利用canvas构建Web五子棋游戏实现算法
2013/07/17 Javascript
JavaScript注册时密码强度校验代码
2017/06/30 Javascript
vue使用showdown并实现代码区域高亮的示例代码
2019/10/17 Javascript
javascript操作元素的常见方法小结
2019/11/13 Javascript
Webpack设置环境变量的一些误区详解
2019/12/19 Javascript
mapboxgl区划标签避让不遮盖实现的代码详解
2020/07/01 Javascript
如何在Python函数执行前后增加额外的行为
2016/10/20 Python
Python极简代码实现杨辉三角示例代码
2016/11/15 Python
python中urllib.unquote乱码的原因与解决方法
2017/04/24 Python
python+pyqt实现右下角弹出框
2017/10/26 Python
异步任务队列Celery在Django中的使用方法
2018/06/07 Python
python实现pdf转换成word/txt纯文本文件
2018/06/07 Python
对python3 sort sorted 函数的应用详解
2019/06/27 Python
python tornado修改log输出方式
2019/11/18 Python
Python 动态变量名定义与调用方法
2020/02/09 Python
python对批量WAV音频进行等长分割的方法实现
2020/09/25 Python
详解CSS3原生支持div铺满浏览器的方法
2018/08/30 HTML / CSS
html5文本内容_动力节点Java学院整理
2017/07/11 HTML / CSS
护士自荐信范文
2013/12/15 职场文书
会计专业大学生职业生涯规划范文
2014/01/11 职场文书
信息总监管理职责范本
2014/03/08 职场文书
学生操行评语大全
2014/04/24 职场文书
单位作风建设剖析材料
2014/10/11 职场文书
房屋产权共有协议书范本
2014/11/03 职场文书
使用Oracle命令进行数据库备份与还原
2021/12/06 Oracle
JavaScript阻止事件冒泡的方法
2021/12/06 Javascript
Android 界面一键变灰 深色主题工具类
2022/04/28 Java/Android