【问题标题】:Django AdminSite - Difficult or Easy Implementation?Django AdminSite - 实施难还是容易?
【发布时间】:2011-05-15 08:09:22
【问题描述】:

有人实现了自己的 AdminSite 吗?基本实现的难易程度如何?

我正在构建一个“cms”,它在某些领域会非常大并且相当复杂,我想知道使用像 AdminSite 这样的东西是否会节省一些时间。我宁愿不必自己实现管理操作和内联等(我知道我可以只使用内联表单,但这不像 inlines = [Foo] 那样简单)。

使用自定义 AdminSite 时,进一步自定义是否等同于自定义标准 Django 管理员?

【问题讨论】:

  • “想知道使用像 AdminSite 这样的东西是否会节省一些时间”?它完全节省了大量时间。也许这不是你真正要问的。您可能想澄清您的问题。

标签: python django django-admin


【解决方案1】:

您已阅读 admin site 文档。这是一个冗长的文档,但添加自定义功能的两个主要钩子是通过自定义 url 和修改您自己的 AdminSiteModelAdmin 对象中的标准视图。一旦你将它们连接起来并且 url 被映射,它就像构建任何其他 Django 应用程序一样,只是模板不是你的,所以它们有点难以管理和习惯。但它允许您进行额外的操作,例如向管理站点添加 form wizard 或将所有内容拆分为多个表单并将它们呈现在模板中的单个 HTML form 元素中,对 GET/@987654329 进行自定义处理@请求等

我过去曾使用它来创建用于显示自定义报告的视图并为员工创建自定义编辑场景。我的意见是你应该尽可能地亲吻。管理站点是关于通用视图和通用演示的。进行扩展,但如果您覆盖模板块并在覆盖未包含在块中的内容之前请三思而后行。某些管理站点功能具有某些演示假设,并且 Django 附带的 JS 客户端应用程序也做出了一些假设(这就是我在添加动态内联模型时所想到的),所以如果你愿意,这将是一项艰巨的任务喜欢推出完全不同的演示文稿。

无论如何,答案是肯定的!管理站点将为您提供更多用于交互式管理模型数据的功能。我不知道您需要多广泛地自定义管理员,但是有一些 CMS、专用管理员应用程序和管理员集成应用程序,它们确实令人大开眼界。 Django CMS,正如我回忆的那样,被称赞为最好的开源 Django CMS,据我所知,它推出了自己的自定义更改/列表视图。 Rosetta 是一个仅限管理站点的应用程序,允许您以交互方式编辑翻译文件,并具有详尽的管理界面!如果您在 bitbucket 和 github 上货比三家,您会发现更多示例,它应该可以帮助您最好地确定需要投入多少精力。

【讨论】:

    【解决方案2】:

    两者

    如果您可以接受它,它不会完全按照您的意愿去做,它几乎会自动为您完成。如果您需要对某些内容进行细粒度控制,则可能很难在不了解管理代码内部的情况下进行自定义。

    【讨论】:

      【解决方案3】:

      django admin 更像是一种尺寸适合所有类型的 ui,在某些情况下使用起来可能不直观.. 自定义它的外观很容易,但扩展它有些困难。在这种情况下,你最好设计自己的视图。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-01-02
        • 1970-01-01
        • 2017-02-26
        • 2015-10-07
        • 1970-01-01
        • 2011-05-13
        • 2012-01-30
        • 1970-01-01
        相关资源
        最近更新 更多