Django进阶(1): admin后台高级玩法(多图)

Django自带的admin管理后台简直是个bug级的存在, 几行代码就可以撸出一个功能齐全的管理后台来。小编我今天就带你看下Django自带的admin有哪些高级用法值得掌握。本文建议先收藏再阅读。

我们将以博客为例,创建一个名为blog的app, 再创建一个文章(Article)模型,如下所示:

我们先在blog目录下创建admin.py,添加如下代码。这些都是最常见设置,我这里就不详述了。

from django.contrib import admin
from .models import Article
from django.utils.html import format_html


class ArticleAdmin(admin.ModelAdmin):
    # Custom admin list view
    list_display = ('title', 'author', 'status', 'create_date', )
    # list_display_links = ('title', ) # default
    # sortable_by # a sub set of list_display. All fields are sortable by default.


    '''define which fields are editable on list view'''
    list_editable = ('status', )


    '''10 items per page'''
    list_per_page = 5


    '''Max 200 when clicking show all'''
    list_max_show_all = 200 #default


    '''Calling select related objects to reduce SQL queries'''
    list_select_related = ('author', )


    '''Render a search box at top. ^, =, @, None=icontains'''
    search_fields = ['title']


    '''Render date options at top. do not accept tuple'''
    date_hierarchy = 'create_date'


    '''Replacement value for empty field'''
    empty_value_display = 'NA'


    '''filter options'''
    list_filter = ('status', 'author__is_superuser', ) 


admin.site.register(Article, ArticleAdmin)

此时登录django后台访问Article模型你将看到如下基础显示效果。我们将从这里开始展示django自带admin后台更高级的用法。

1. 自定义list_display显示字段

目前文章列表中的文章创建日期是英文字段,不是我们想要的。我们可以自定义一个时间格式(比如以2020-11-09 15:00)展示,并以红色标注。

此时修改我们的admin.py, 在ArticleAdmin类中新增一个custom_date方法,把其加入list_display选项,如下所示:

# Register your models here.
class ArticleAdmin(admin.ModelAdmin):


    # Custom admin list view
    list_display = ('title', 'author', 'status', 'create_date', 'custom_date', )
    '''中间省略'''    
    '''custom field on list view'''
    def custom_date(self, obj):
        return format_html(
            '<span style="color: red;">{}</span>',
            obj.create_date.strftime("%Y-%m-%d %H:%M:%S")
        )


    custom_date.short_description = '定制格式及颜色'

新的展示效果如下所示:

2. 优化ForeignKey或多对多字段的选择<

大江狗
关注 关注
  • 34
    点赞
  • 200
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
(5)Django---Admin简介
小晶的博客
01-06 1383
一、什么是AdminAdminDjango自带的一个功能强大的自动化数据管理界面; 被授权的用户可直接在Admin中管理数据库; Django提供了针对Admin的定制页面; 二、配置Admin 创建用户 python manage.py createsuperuser创建超级用户 http://localhost:8000/admin/ admin入口...
小白IT:Django框架—admin详细使用
yidianyidei的博客
06-15 1589
文章目录Django框架—admin详细使用一、面向对象复习1.类的继承2.单例模式举例一2.单例模式举例一举例二二、django-admin的简单回顾1.admin使用流程2.路由系统3.文件加载4.面向对象三、django-admin的具体使用1.数据表的准备2.配置路由实例3.应用注册普通注册方法自定义注册应用方式1方式24.admin界面汉化5.记录列表基本设置1.list_display2.list_display_links3.list_filter4.分页相关5.search_field6.其
Djangoadmin后台页面功能详解
xiaoyu070321的博客
12-07 2896
自定义字段指与模型相关,但并不包含在模型中的字段,这种字段是定义在应用的admin.py文件中的一些函数,这些函数会将模型实例作为参数。也就是说假如我们类里设置了商品的单价与销售的数量,但是我们没有设置其销售额,该如何得到?return f'g . name } 销售额为: {
Django基础入门:后台管理 超级用户 数据表注册操作③
weixin_50804299的博客
06-12 8425
🎖️🎖️:Python领域新星创作者,CSDN实力新星认证,阿里云社区专家博主🎁🎁:Web全栈开发专栏:《》免费专栏,欢迎阅读!🎁🎁:文章末尾扫描二维码可以加入粉丝交流群,不定期免费送书。
Django Admin后台管理:高效开发与实践
最新发布
05-08 867
Django AdminDjango框架自带的一个管理后台工具,它允许开发者通过一个直观的Web界面轻松地管理应用中的数据模型。Admin提供了模型的CRUD(Create,Read, Update, Delete)操作,以及数据的批量处理和搜索功能,极大地简化了日常的数据库管理。它不仅适用于开发阶段,也非常适合在生产环境中进行数据维护。
Django基础之Admin后台数据管理
weixin_51550438的博客
05-09 8729
Admin后台数据管理 一个站点或者网站,除了给用户浏览及操作外,还需要对后台数据进行管理,比如添加商品,修改商品等等。 Django提供了一个可插拔的后台管理系统------Admin 应用,该系统可以从模型中读取元数据,并提供以模型为中心的界面。Admin后台管理系统不仅让管理员可以便捷地管理、发布、维护网站 的内容,也为开发人员节约了大量开发时间。本章节将对Admin管理系统进行介绍。 学习目标: 掌握进入后台管理系统的方法 掌握模型model的注册方法 熟悉ModelAdmin的选项 了解Ad
Django入门之Admin站点管理
json_li的博客
04-24 1191
Django的强大体现在其内置的Admin模块可以使得开发人员在不做任何编码的情况下就拥有网站后台管理功能。
Django(24)-admin后台管理设置步骤以及常见样式详解
redrose2100的博客
06-17 6278
1、admin管理后台简介 django提供了比较完善的后台管理数据库的接口,可控开发过程中调用和测试使用 django会手机所有已注册的模型类,为这些模型类提供数据管理界面,供开发者使用 2、admin管理后台配置 创建后台管理账号,该账号为管理后台最高权限账号 python manage.py createsuperuser 如下,注意密码不能太简单了,否则会提示密码太简单了 在浏览器打开admin管理界面http://127.0.0.1:8080/admin 然后使用上面设置的用户名和
djangoadmin组件使用详解
Dream_it_possible!的博客
08-08 4764
admin组件介绍 admin作为django的超级用户,权限包括注册目录列表,注册用户权限,注册需要维护的数据库信息等。 怎么使用admin用户? 1. 启动项目,访问localhost:8001/admin,会出现如下页面: 2.输入用户admin,密码: admin,发现报错: Table 'myapp.auth_user' doesn't exist 确定之前用的数据库有没有初始...
详细介绍如何使用Django后台管理Admin
YPL_ZML的博客
04-29 476
后台管理 一个网站分为前台(普通用户访问)和管理后台(由网站管理员访问)两部分 管理后台由网站的管理员负责查看、添加、修改、删除数据,开发这些重复的功能是一件单调乏味、缺乏创造力的工作,为此,Django能够根据定义的模型类自动地生成管理模块 使用Django的管理模块,需要按照如下步骤操作 管理界面本地化 创建管理员 注册模型类 自定义管理页面 操作演示: 1)本地化 (语言和时区) 修改se...
djangoadmin设置-让你的admin后台更加漂亮实用
帅的飞起的博客
12-30 1863
djangoadmin设置-让你的admin后台更加漂亮实用 from django.contrib import admin from Interface_App.models import Sql_Interface # 登录时显示的名称 admin.site.site_header = '平台管理后台1111' ![登录时显示的名称](https://img-blog.csdnimg.cn/20201230105941608.png?x-oss-process=image/watermark,ty
Django 实现admin后台显示图片缩略图的例子
09-18
今天小编就为大家分享一篇Django 实现admin后台显示图片缩略图的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
django-editorjs:Django Admin的editor.js小部件
05-23
django admin中使用插件。 支持的插件/工具 @editorjs/paragraph @editorjs/image @editorjs/header @editorjs/checklist - @editorjs/list - @editorjs/quote @editorjs/raw @editorjs/embed @editorjs/...
django-admin:基于Bootstrap 4的可重用Django Admin
04-09
开源代码样本 jangoadmin,可重用的jango admin(引导程序4),登录页面(简单)和api设置(使用rest框架令牌机制)
Django+boostrap 美化admin后台的操作
09-17
主要介绍了Django+boostrap 美化admin后台的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
Django Admin 后台自定制技巧
CSDN
12-30 6866
Django AdminDjango框架内置的一个强大的后台管理系统,用于管理应用程序的数据模型和进行常见的管理任务。Django Admin提供了一个基于Web的用户界面,使开发者可以轻松地执行各种管理操作,而无需编写大量的自定义代码。
django2.1---后台管理 admin 字段内容过长,省略号替代
weixin_30352645的博客
12-05 633
django admin后台的时候, 有些字段内容太长,像文章,长评论,新闻等可以限制显示长度,超出部分用...代替 1.在model.py中 def short_content(self): if len(str(self.content)) > 1000: return '{}...'.format(...
zdpdjango_argonadmin使用Django开发一个美观的后台管理系统
Python私教
04-07 671
今天的代码实战就到这里了,如果大家需要源代码,欢迎私信或者留言。Django零基础全栈班已正式开课,欢迎想学习Django的同学报名学习。
Django入门之自定义管理页面
json_li的博客
04-25 1947
Django框架Admin站点管理一些默认的显示和功能包括语言都可以自定义设置处理,以贴近我们的实际业务。
-bash: django-admin: command not found
10-08
您的问题是关于Django-admin命令找不到的问题。这可能是由于Django没有正确安装或没有添加到系统路径导致的。您可以通过以下步骤来解决这个问题: 1. 确保您已经在您的系统中正确地安装了Django。您可以使用以下命令检查Django的版本: ``` python -m django --version ``` 2. 如果Django未安装,请使用以下命令安装它: ``` pip install django ``` 3. 确保Django安装后,您需要将Django-admin所在的路径添加到系统的环境变量中。首先,找到您的Django-admin所在的路径。 4. 对于全局安装的Django,您可以使用以下命令找到其安装路径: ``` which django-admin ``` 5. 对于虚拟环境中安装的Django,您可以使用以下命令找到其安装路径: ``` echo $VIRTUAL_ENV/bin/django-admin ``` 6. 将找到的路径添加到系统的环境变量中。您可以编辑 ~/.bashrc 文件并将以下行添加到文件末尾(如果使用的是Bash shell): ``` export PATH=$PATH:/path/to/django-admin ``` 7. 保存文件并执行以下命令使更改生效: ``` source ~/.bashrc ``` 现在,您应该能够正常使用django-admin命令了。 如果您还有其他相关问题,请告诉我。 相关问题: 1. 如何创建一个Django项目? 2. 如何运行Django开发服务器? 3. 如何在Django中创建一个应用程序?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • Django 2.0 官方中文文档终于发布啦! 附链接! 53634
  • Django基础(23): 权限管理(permissions)与用户组(group)详解 47818
  • Django缓存Cache详解 39231
  • uWSGI的安装及配置详解 32301
  • django的优缺点总结 - Python Web开发面试必备 31423

分类专栏

  • 一文看懂Python系列 6篇
  • Django基础连载 73篇
  • Django 106篇
  • Python 37篇

最新评论

  • Django实战: 手把手教你配置Django SimpleUI打造美丽后台(多图)

    mengmeng2022: 你好,我想用不同按钮来展示不同的左侧菜单,该怎么做呢,不知道用什么来绑定起来

  • 使用宝塔面板快速部署Django项目

    情圣也轻生: 没有看到 Python manage.py migrate 指令 , 请问是哪个环节给他自动化实现了

  • Django实战:channels + websocket四步打造个在线聊天室(附动图)

    崖高人远: 补充,如果使用runserver方式启动,那么聊天室的消息是发不出去的。需要使用asgi服务器启动才行,比如daphne。 daphne -b 0.0.0.0 -p 8000 myproject.asgi:application

  • Docker部署Django由浅入深系列(下): 八步部署Django+Uwsgi+Nginx+MySQL+Redis

    古埙: uwsgi --ini /var/www/html/docker_test/uwsgi.ini这是uwsgi的启动文件,在Dockerfile中启动时CMD ["sh", "-c", "./tools/start_uwsgi.sh && tail -f /dev/null"]这样的,是否可以直接启动python项目,我可以进ngingx但是python好像进不去

  • Python常用第三方库大全, 值得收藏!

    pursuing1: 为什么要用女生头像,咱们码农不吃这套

最新文章

  • Django 5.0解析:最新功能和特色的综合指南-2023 年 12 月的完美礼物
  • Django 4.2发布,主要变化小结!
  • 这一次,Python 真的有望告别 GIL 锁了?
2023年3篇
2022年16篇
2021年85篇
2020年84篇
2019年32篇
2018年91篇

目录

目录

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司鹤岗百搜标王宿州网站优化推广哪家好东营百搜标王公司萍乡网站推广系统公司甘南网站优化软件价格舟山seo优化推荐唐山建网站哪家好银川seo优化报价德州网站推广系统松岗关键词按天扣费北海品牌网站设计公司定西百度网站优化排名推荐淮安seo优化价格石岩百度标王价格张北至尊标王报价株洲网站建设价格毕节百度seo多少钱坪地百度竞价包年推广池州优化多少钱合肥seo网站推广报价那曲营销网站公司玉林网站优化按天计费价格来宾网站seo优化推荐呼和浩特百搜标王推荐南平seo网站推广推荐飞来峡网站优化排名榆林网站推广系统太原百度网站优化排名多少钱漳州seo价格仙桃关键词按天扣费价格歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化