你应该使用Django admin的9个理由

  • 时间:
  • 浏览:8

这里有其他我要想到的很有用的 Django 的 admin 模块的窍门。

现在,大伙儿可不可以 很容易地选出大伙儿的核心作者。那末 大伙儿咋样时候开始 英文向大伙儿推广呢?让大伙儿进入下一每项。

Tip #5: “在站点查看”的简单实现

模板的内容:

现在让人安全的把修改图片的权限放开让人的祖母,另一一一两个她就能浏览图片列表。要注意这类方案肯定不可不可以 适用于所有使用场景,你还都要补救更多的情況。

倘若最终你决定要推广所有有 30+ 的帖子的作者。咋样让,大伙儿咋样区分它们?让大伙儿创建一一一两个过滤器,并把它加上到大伙儿的变更列表。

Tip #7: 根据都要自定义 total 字段

Django admin (Django 也是那末 ) 最常用也是最有用的技巧是 select_related。呃,你可能性都知道了?不可是我把对象的名字传给 ModelAdmin 的 list_select_related 属性来实现相关对象的预加载嘛。咋样让,你知道你并那末 描述删剪的相关对象吗?只都要设置成 True,Django 就可不可以 自动预加载实物对象:

Tip #9: 为每个对象自定义 action

为了让那此敲门更具可操作性,大伙儿使用了与真实疑问几乎一致的场景。假设大伙儿有一一一两个简单的网站,访客可不可以 上传可爱的动物图片并进行评论。这是都是很流行呢?

有时候你都要在单个对象上执行特定的 action。‘actions’工具当然可不可以 完成这类任务,不过过程会显得很麻烦:点击对象、选取 action、再点击一一一两个按钮……肯定有更便捷的最好的最好的法律法律依据,对吧?让大伙儿想最好的最好的法律法律依据只点击一次就删剪甩掉。

好吧,过滤器是很酷,但让大伙儿关注了一下就搜索工具。在几乎所有的安装我见过的搜索框是用来在一一一两个模型中的字段搜索。咋样让,当你意识到它可不可以 补救关系的 Django 搜索真正的亮点。咋样让,假设大伙儿希望它在图片“的标题,作者姓名和注释”文本进行搜索。大伙儿咋样做到这类点?

可是我另一一一两个!不必再一一一两个挨一一一两个的打开每个表单!另外,它很容易进一步增加大伙儿的动作,这类,加上一一一两个过渡表单。关于这点,Django 文档 有段非常棒的讲解(https://docs.djangoproject.com/en/1.8/ref/contrib/admin/actions/#actions-that-provide-intermediate-pages)。

啥意思?假设你的祖母打算瞅一眼那此可爱的图片,她站在你转过身,并非 Django 的 admin 界面挺有意思。不过你能肯定,她可是我使用 admin 界面,恐怕一一一两个按钮的点击就能毁掉整个网站。那末 ,大伙儿加上 grandma-proof™,另一一一两个就支持只读的 admin 界面(可是我某人说的“数据浏览”):

说到大伙儿的动物“的网站,是由进屎的脑袋写出来的,所以 管理界面看起来像……你知道的,都是很好。为了补救这类疑问,大伙儿通过几个 Django 模型重构了数据库形态学 ,实现一一一两个简单的管理界面:

来源:51CTO

(对于 Django admin 太熟悉的人,先简单解释几个名词)

Tip #8: 对其他用户只读的 admin 界面

Tip #3:加上动作(操作函数)到 ‘actions’

但愿她现在可不可以 满意。现在每个对象字段加上了一一一两个链接,让她点一下就可不可以 发送邮件。

你都要做的仅是:

并非 Django admin 管理界面可不可以 非常友好的用在 Django 项目的其它每项,它同样可不可以 很容易用于其它像传统的数据库或具有一一一两个可怕的的管理界面的网站。咋样让这也是评估 Django 算不算会满足您的需求的最佳途径。

这次大伙儿要实现老祖母的另一一一两个宏达的想法。她希望能给其他编辑发 email,告诉大伙儿她喜欢的所有图片。

这段代码给列表中每个对象都加上了“在站点查看”的链接。在此,大伙儿假定你的模型(Model)可能性实现了get_absolute_url()最好的最好的法律法律依据。可能性还那末 – 那现在就去实现 ,这将为你节省所以 时间。你也可能性会想将这类片段转移到一一一两个 mixin,或公用的 admin 基类。

Bonus Tip: 只需为 admin 加上一行代码来减少查询量

在站点查看一一一两个对象的界面是非常普及的需求,默认情況下,你都要打开该对象的表单,咋样让点击按钮“在站点查看”。以下代码展示咋样使此过程更容易其他:

所以 人使用 Django admin 后台对指定字段进行筛选。要知道,把一一一两个字段名中放 list_filter 列表里就可不可以 了。一同它也非常容易地创建一一一两个自定义过滤器!

我现在要澄清这类误解。Django 的 admin 绝对是软件中的亮点,可不可以 有效的加速你的开发。

每个 changelist 最下方都是一行列出总数(total)。假设大伙儿都要把猫和狗的图片数量区分开来。这类功能都要的代码稍微多其他:大伙儿都要重载 changelist 和 html 模板(更多内容参考模板重载)。

本文到此就差不要 时候开始 英文了,希望你能并非 有意思。别忘了在评论里分享你的看法,我可是我知道们对你有帮助的技巧。

Tip #4: 搜索你都要的所有字段

可能性你的数据库是够大,并不忘记加上其他全文索引来增加搜索速率单位。

这另一一一两个内容管理者的天赐之物。还记得在每个模型的列表顶部的“动作”工具栏不?大伙儿是都是非常方便的先选取其他图片,咋样让只需单击一下就“推广”给作者了?现在让大伙儿来实现它:

Tip #6: 在列表页就地编辑字段

Tip 1:Django admin 后台不限于用 Django 开发的网站

作者:佚名

Tip #2: 按你喜欢的最好的最好的法律法律依据筛选你的数据

另一一一两个就甩掉了,现在打开评论列表,可不可以 按照都要进行过滤,还可不可以 在评论上即时加上备注。

假设大伙儿都要给评论加一一一两个编辑的备注。很自然,大伙儿希望不都要对每条评论都去打开评论的changeform。要做到这点,大伙儿可不可以 稍微修改一下ModelAdmin: