Python中Django的admin模块如何取舍与使用?
django 的 admin 确实方便,尤其是 xadmin,简直不用写代码了。 但是,想自定义一个页面聚合不同数据,还无处下手,还不如从头再来自己写。 admin 是否提供的场景是,仅仅录入数据,不需要太复杂的管理功能,前台仅仅用于显示的情况? 我现在是想做一个类似库存管理的东东。
Python中Django的admin模块如何取舍与使用?
xadmin 这垃圾东西还有人用呢?
django 的 admin 是可以重写的,自己评估调研一下,不合适就不用咯
Django的admin模块是个快速生成后台管理界面的利器,但用不用、怎么用得看情况。
核心取舍点:
- 内部工具 vs 用户产品:如果只是给内部团队管理数据(比如运营、编辑),admin非常合适,能省下大量开发时间。但如果是面向最终用户的产品后台,admin默认的界面和交互通常不够友好,需要深度定制或自己重写。
- 需求复杂度:简单的增删改查、列表过滤、搜索,admin配置一下
list_display、list_filter、search_fields就能搞定。但如果业务逻辑复杂,比如涉及复杂的数据校验、多步骤审批、特殊的界面布局,在admin里硬改可能比从头写一个视图还麻烦。 - 定制成本:admin的深度定制(比如重写模板、大量JavaScript交互、复杂的权限控制)学习曲线不低。有时候你会发现,为了让它符合需求写的代码,已经够自己实现一个简单后台了。
我的使用建议:
- 原型和内部系统首选:做原型验证或者内部数据管理平台,第一时间用admin,快速把功能跑起来。
- 善用内置功能:别急着自己写,先看看admin的
ModelAdmin配置项能不能满足。像fieldsets组织表单、readonly_fields设置只读、inlines处理关联对象,这些都很实用。 - 适可而止的定制:改改模板、加个
Media类引入CSS/JS、重写save_model方法加业务逻辑,这些程度的定制是划算的。但如果要动大手术,不如考虑用Django REST Framework做个API配个独立前端。
一句话总结:admin是加速器,不是万金油,用在对的场景能事半功倍。
乍一看,很爽的,定义 model,啥都有了。研究 admin 还不如自己用 flask 撸,自由。
其实也是借这机会,对比下 django 和 flask.
看需求多复杂了,如果只是简单的录入和显示,那么我只要写显示的 template + 几行 python 代码就搞定了。
直接写个录入界面就行了啊,录入界面在 views 里添加 ()
还有什么好用的 admin ui 吗?目前常用 django-suit,新出的 v2 版本还可以
我的感受是简单的 blog,cms 这种,应该适合 admin.
略复杂的展示,还是自己来写的好。
还是自定义吧.
admin 二次开发有时候想去屎.
django jet
客制 django admin 性价比不高,自己写几个页面又快又省事。
嗯, Django 用户的必由之路: 用 Django -> 用 Admin -> 想改 Admin -> 失败 -> 不用 Django…
用 Django -> 用 Admin -> 想改 Admin -> 改了一部分 -> 前后端分离
发个帖的功夫,估计能写完 7,8 个 model 的 admin 界面了吧。。
功能比较复杂的页面我都是自定义 Django 的 admin 页面。
完全可以,只需要学习下 django 文档里面的 admin site 那一篇,然后加上各种 google,stackoverflow 的查询即可
之前一个项目用到 XADMIN 一脸懵逼,后来作者面对面教我怎么用,别看笨重其实特灵活,发现 XADDMIN 还是很牛逼的,只是文档不完善,不熟悉的人还真用不明白。
Django 的 admin 是 rails 所没有的强大功能啊,兄 dei。想要自定义修改 admin 的页面很简单,google 下有很多教程的。
Django JET 有很多 Bug,作者好像也不怎么维护了,慎用。
xadmin 的文档不太好,要自己去看源代码才能发现很多功能和可定制的地方。
总体上来说如只是一两个页面可以自己按 xadmin 或 admin 的要求换成自己写的模板的。
再加用 tabularinline inlinemode 基本上常见的后台管理功能就都能实现了。
前后端真的爽
https://docs.djangoproject.com/en/2.0/intro/tutorial02/#introducing-the-django-admin
“ The admin isn ’ t intended to be used by site visitors. It ’ s for site managers.”
1. 普通(外部)用户访问
2. 内容聚合 /显示交互复杂
admin 的架子是满足基本增删改查的,如果页面满足上述任意一点,请直接自定义页面,手撸代码。
最可怕的情况是 admin 中毒[1],上述 2 点都满足,还想着 admin 一套带走,二开简直是浪费生命。怕是不明白 admin staff 的含义。
<hr/>
1. admin 中毒是指那些使用过 Django Admin 开发的程序员,尝到 admin 带来的便利之后,产生了想把任何页面都用 admin 实现的想法的症状。
总结的到位,正想放弃 django.
是非常快,前后台两套登录系统有些鸡肋。
刚用 xadmin 撸了个数据汇总处理系统。出活儿快。
对了 它的 chart 目前是不是有 bug。日期 x 轴对不齐。
有代码不,给看看(抄抄)
陈年老码 没脸拿出来
哎呦,界面看起来还挺漂亮的
看着不错啊,可否学习学习
能不能把输入框对齐 23333
哈哈 那时候刚学写程序没顾上 后来重构了前端
http://awesome-django.com/#admin-interface
里面参考,django 开发必备
普通的增删改查够用了,虽然不是很好看,用来 debug 还是不错的


