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 相关文章推荐
python多线程扫描端口示例
Jan 16 Python
在Python中处理时间之clock()方法的使用
May 22 Python
在Django的视图中使用数据库查询的方法
Jul 16 Python
Python数据分析之获取双色球历史信息的方法示例
Feb 03 Python
详解tensorflow载入数据的三种方式
Apr 24 Python
基于Python的Post请求数据爬取的方法详解
Jun 14 Python
Python字符串对象实现原理详解
Jul 01 Python
对Python中画图时候的线类型详解
Jul 07 Python
使用Python测试Ping主机IP和某端口是否开放的实例
Dec 17 Python
Python函数参数类型及排序原理总结
Dec 19 Python
python图片合成的示例
Nov 09 Python
python中的装饰器该如何使用
Jun 18 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
层叠菜单的动态生成
2006/10/09 PHP
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
2016/09/30 PHP
php 反斜杠处理函数addslashes()和stripslashes()实例详解
2016/12/25 PHP
PHP基于swoole多进程操作示例
2019/08/12 PHP
msn上的tab功能Firefox对childNodes处理的一个BUG
2008/01/21 Javascript
js监听表单value的修改同步问题,跨浏览器支持
2009/12/31 Javascript
jquery 学习笔记一
2010/04/07 Javascript
jQuery Lightbox 图片展示插件使用说明
2010/04/25 Javascript
jquery DOM操作 基于命令改变页面
2010/05/06 Javascript
分享一个插件实现水珠自动下落效果
2016/06/01 Javascript
jquery mobile移动端幻灯片滑动切换效果
2020/04/15 Javascript
微信小程序开发的四十个技术窍门总结(推荐)
2017/01/23 Javascript
JavaScript实现鼠标点击导航栏变色特效
2017/02/08 Javascript
javascript设计模式之中介者模式学习笔记
2017/02/15 Javascript
基于JavaScript实现滑动门效果
2017/03/16 Javascript
微信小程序 上传头像的实例详解
2017/10/27 Javascript
JS伪继承prototype实现方法示例
2018/06/20 Javascript
解决vue的 v-for 循环中图片加载路径问题
2018/09/03 Javascript
解决webpack+Vue引入iView找不到字体文件的问题
2018/09/28 Javascript
原来JS还可以这样拆箱转换详解
2019/02/01 Javascript
使用vue实现各类弹出框组件
2019/07/03 Javascript
javascript网页随机点名实现过程解析
2019/10/15 Javascript
python实现超简单端口转发的方法
2015/03/13 Python
python将ip地址转换成整数的方法
2015/03/17 Python
python检测是文件还是目录的方法
2015/07/03 Python
ansible作为python模块库使用的方法实例
2017/01/17 Python
python torch.utils.data.DataLoader使用方法
2020/04/02 Python
基于python实现删除指定文件类型
2020/07/21 Python
Django实现随机图形验证码的示例
2020/10/15 Python
python 使用openpyxl读取excel数据
2021/02/18 Python
html5与css3小应用
2013/04/03 HTML / CSS
Antonioli美国在线商店:时尚前卫奢华
2019/07/29 全球购物
高二化学教学反思
2014/01/30 职场文书
小学运动会班级口号
2014/06/09 职场文书
大学生团员个人总结
2015/02/14 职场文书
小学六一儿童节活动开幕词
2016/03/04 职场文书