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嵌套函数使用外部函数变量的方法(Python2和Python3)
Jan 31 Python
python实现发送邮件功能
Jul 22 Python
详解Django的model查询操作与查询性能优化
Oct 16 Python
python实现文本界面网络聊天室
Dec 12 Python
pandas 数据结构之Series的使用方法
Jun 21 Python
对python 调用类属性的方法详解
Jul 02 Python
详解Python中的正斜杠与反斜杠
Aug 09 Python
python中web框架的自定义创建
Sep 08 Python
解决pycharm上的jupyter notebook端口被占用问题
Dec 17 Python
关于Python Tkinter Button控件command传参问题的解决方式
Mar 04 Python
pandas分组聚合详解
Apr 10 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
360通用php防护代码(使用操作详解)
2013/06/18 PHP
从零开始学YII2框架(四)扩展插件yii2-kartikgii
2014/08/20 PHP
PHP读取文件内容的五种方式
2015/12/28 PHP
Laravel服务容器绑定的几种方法总结
2020/06/14 PHP
Ajax::prototype 源码解读
2007/01/22 Javascript
为radio类型的INPUT添加客户端脚本(附加实现JS来禁用onClick事件思路代码)
2010/11/11 Javascript
浅析jQuery的链式调用之each函数
2010/12/03 Javascript
jquery 漂亮的删除确认和提交无刷新删除示例
2013/11/13 Javascript
jQuery 复合选择器应用的几个例子
2014/09/11 Javascript
Javascript实现颜色rgb与16进制转换的方法
2015/04/18 Javascript
JS图片等比例缩放方法完整示例
2016/08/03 Javascript
js实现表格筛选功能
2017/01/18 Javascript
vue2 如何实现div contenteditable=“true”(类似于v-model)的效果
2017/02/08 Javascript
详解Vue + Vuex 如何使用 vm.$nextTick
2017/11/20 Javascript
JS实现获取word文档内容并输出显示到html页面示例
2018/06/23 Javascript
微信小程序实现运动步数排行功能(可删除)
2018/07/05 Javascript
jQuery+css last-child实现选择最后一个子元素操作示例
2018/12/10 jQuery
Vue多组件仓库开发与发布详解
2019/02/28 Javascript
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
2019/03/15 Javascript
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
2019/04/09 Javascript
js图片查看器插件用法示例
2019/06/22 Javascript
使用layui 的layedit定义自己的toolbar方法
2019/09/18 Javascript
Bootstrap实现模态框效果
2019/09/30 Javascript
详解Python中的循环语句的用法
2015/04/09 Python
python常见排序算法基础教程
2017/04/13 Python
Python计算两个日期相差天数的方法示例
2017/05/23 Python
如何爬取通过ajax加载数据的网站
2019/08/15 Python
公司人力资源的自我评价
2014/01/02 职场文书
运动会入场解说词
2014/02/07 职场文书
社区道德讲堂实施方案
2014/03/21 职场文书
教师自我剖析材料(四风问题)
2014/09/30 职场文书
2015年基层党支部工作总结
2015/05/21 职场文书
护士岗位竞聘书
2015/09/15 职场文书
阳光体育运动标语口号
2015/12/26 职场文书
redis配置文件中常用配置详解
2021/04/14 Redis
vue+element ui实现锚点定位
2021/06/29 Vue.js