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使用scrapy抓取网站sitemap信息的方法
Apr 08 Python
python通过get,post方式发送http请求和接收http响应的方法
May 26 Python
python妹子图简单爬虫实例
Jul 07 Python
Python获取央视节目单的实现代码
Jul 25 Python
Python实现mysql数据库更新表数据接口的功能
Nov 19 Python
Python3.6.0+opencv3.3.0人脸检测示例
May 25 Python
python复制列表时[:]和[::]之间有什么区别
Oct 16 Python
python print出共轭复数的方法详解
Jun 25 Python
logging level级别介绍
Feb 21 Python
Python连接Mysql进行增删改查的示例代码
Aug 03 Python
Python办公自动化PPT批量转换操作
Sep 15 Python
Python使用PyYAML库读写yaml文件的方法
Apr 06 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
无线电波是什么?它是怎样传输的?
2021/03/01 无线电
如何跨站抓取别的站点的页面的补充
2006/10/09 PHP
php实现水仙花数的4个示例分享
2014/04/08 PHP
phpmyadmin打开很慢的解决方法
2014/04/21 PHP
利用php-cli和任务计划实现订单同步功能的方法
2017/05/03 PHP
Laravel使用模型实现like模糊查询的例子
2019/10/24 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
奇妙的js
2007/09/24 Javascript
javascript 事件查询综合 推荐收藏
2010/03/10 Javascript
javascript与CSS复习(三)
2010/06/29 Javascript
JS高级拖动技术 setCapture,releaseCapture
2011/07/31 Javascript
Javascript判断对象是否相等实现代码
2013/03/18 Javascript
jQuery简单实现仿京东商城的左侧菜单效果代码
2015/09/09 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
2015/10/31 Javascript
关于JS中的apply,call,bind的深入解析
2016/04/05 Javascript
浅谈JQuery+ajax+jsonp 跨域访问
2016/06/25 Javascript
jQuery简单实现iframe的高度根据页面内容自适应的方法
2016/08/01 Javascript
jquery dialog获取焦点的方法
2017/02/09 Javascript
jQuery:unbind方法的使用详解
2017/08/14 jQuery
vue router下的html5 history在iis服务器上的设置方法
2017/10/18 Javascript
JavaScript实现元素滚动条到达一定位置循环追加内容
2017/12/28 Javascript
在Web关闭页面时发送Ajax请求的实现方法
2019/03/07 Javascript
javascript/jquery实现点击触发事件的方法分析
2019/11/11 jQuery
[01:11:37]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第一场 11.19
2020/11/19 DOTA
Python socket实现简单聊天室
2018/04/01 Python
python numpy数组的索引和切片的操作方法
2018/10/20 Python
python 实现提取某个索引中某个时间段的数据方法
2019/02/01 Python
Python面向对象多态实现原理及代码实例
2020/09/16 Python
浅谈Html5移动端ios/Android兼容性总结
2018/06/01 HTML / CSS
中国跨境海淘网站:考拉海购
2016/08/01 全球购物
享受加州生活方式的时尚舒适:XCVI
2018/07/09 全球购物
高三历史教学反思
2014/01/09 职场文书
洗发露广告词
2014/03/14 职场文书
聚美优品陈欧广告词
2014/03/14 职场文书
大学奖学金获奖感言
2014/08/15 职场文书
2015年政治教研组工作总结
2015/07/22 职场文书