15

我在想 django admin 是一个实用程序,可以为站点的受信任管理员提供对站点数据模型的完全访问权限。

然而,在详细浏览了 django admin 之后,我了解到它是一组非常强大的视图和模板,可以用来创建整个应用程序。

您多久单独使用 admin 创建一个完整的应用程序?使用视图本身创建比自定义管理更容易吗?

如何使用管理员构建原型。我们甚至需要构建原型吗?管理员自定义不能在实际应用程序中重复使用。

如果我想在实际应用程序中使用部分管理代码(使用不同的模板),是否有某种可用的脚手架选项?

4

5 回答 5

18

“管理员不是你的应用程序。”

如果自定义超出了微不足道的范围,请编写您自己的视图。

以我的经验,我让内部管理页面相对保持不变。相反,我覆盖了管理索引模板,当用户需要进行重要的报告或表单处理时,我会在其中放置指向自定义编写视图的链接。

于 2009-03-24T13:54:49.360 回答
10

我以前做过类似的事情。这是一个完全通过扩展 Django admin 实现的大学 CMS。事实证明,这是一个糟糕的设计决定。我不得不跳过篮球做一些事情。

这实际上取决于您的应用程序的要求。如果需要大量 ajax 或某些特定的工作流程扩展管理员将不是正确的做法。但我认为扩展管理员可以覆盖 60% 的案例。

它也非常适合构建原型。

编辑

好的,那是在 0.96 天内。

到目前为止,我已经构建了 2 个完全在新管理员之上的生产中的“大”站点。这些主要是案例管理、数据输入和报告,因此它们可以被压缩到管理员的工作流程中。但是,在扩展基础站点、ModelAdmin、InlineModelAdmin 等方面并非没有付出很大的努力。我们之所以要这样做,是因为我们被迫快速完成。但在第一种情况下,它也非常适合要求。两者都在政府部门的 Intranet 上运行。两者都做得很好。一个有 200 个表,处理数以万计的条目。另一个管理付款。

所以,是的,这是真的。管理员不是您的应用程序。但是,尽管其中大部分没有记录在案,但它具有足够的可扩展性。它适用于大多数基本的企业工作流程。因此,在有限数量的场景中值得考虑。

于 2009-03-24T13:04:44.847 回答
8

我不同意大多数其他答案。

简而言之,使用管理应用程序免费获得的东西是无与伦比的。

你的第一次定制管理员会很困难,因为你将面临陡峭的学习曲线(你需要处理覆盖模板、管理器、模型管理员,可能使用数据库视图、CSS 和 JS、一些额外的表单和验证规则, ETC...)。但是一旦完成,您就会开始觉得将管理系统弯曲到您的需要是王道。我已经构建了一个复杂的库存和会计 Web 应用程序,其中包含数据输入、报告和权限系统,所有这些都完全基于管理界面和后端。

于 2012-01-03T06:21:59.713 回答
3

Django Admin 非常灵活,可以通过多种方式覆盖。不幸的是,有不止一种方法可以进行覆盖,并且一些技术没有很好的记录。

好消息是以下策略似乎效果很好:覆盖、自定义和子类化管理应用程序,直到一切都开始感到有点痛苦,然后在需要的地方进入你自己的视图。

我对这个问题的回答中有一些有用的链接

于 2009-03-24T18:26:45.463 回答
0

简而言之:

根据您的需要尝试管理部分。修改标准视图。如果缺少某些东西,您总是可以开发自己的观点。

对我来说,我无法想象仅基于 django-admin 的整个(比 rolodex 大)应用程序。

一种。

于 2009-03-24T12:47:47.367 回答