自定义Django管理界面功能

时间:2010-09-21 08:28:02

标签: python django customization admin

我是django的新手,并且在尝试使管理网站按照我的意愿工作时遇到了一些困难。我想知道是否为了制作管理功能,我希望最好使用继承自admin / base_site.html的模板制作自定义管理应用程序,当is_staff为true时使用带有重定向的前端登录。

让我想到的最初细节:

  1. 我有一系列的外键,并希望在父管理页面上显示嵌套的内联。我已经尝试过使用easymode,但是它有自己的问题和要求可能会导致后来的麻烦,我可以不用。

  2. 我想添加一个函数,允许管理员添加一个模型实例,触发创建实例的相关模型和重定向等。这需要至少添加一些callables,我还没想到然而如何真正做到管理模式的任何成功,目前似乎更容易在我自己的应用程序的views.py中快速执行此操作,而不是尝试使用管理员视图玩具。

  3. 通常,创建自定义管理应用程序(在FrontEnd登录时使用is_staff = true重定向)从长远来看似乎更灵活,并且将为客户端带来更加设计和直观的管理界面 - 所以我想我的问题是,半职业选手在做什么? (如果你知道如何破解管理员的观点和模板到你的心脏的内容,你不是一个半职业:))

    感谢您提出的任何建议,我仍然会弄湿我的脚,这种建议可以节省我很多时间和头痛。

2 个答案:

答案 0 :(得分:9)

慢下来。放松。遵循Django哲学。

  1. 你有一个“app”。它提供了数据。专注于演讲。

  2. 您的“app”有默认的内置管理员。它会更新数据并且已经存在。

  3. 如果管理员应用不符合您的需求,请更新表单并更新模型以获取结果。但是,不要让自己与管理员混在一起。尽可能接近。但放松一下吧。

  4. [另外,“更直观的管理员”有时并不准确描述您正在尝试做什么。它可能是,但我看到一些“更直观”,实际上并非如此。]

      

    为客户提供更加设计和直观的管理界面。

    这是应用程序的一部分吗?该应用程序是否更多而不是简单地呈现数据?

    如果应用程序是事务性的 - 添加,更改,删除 - crud规则 - 那种事情,那就是你的应用程序。如果你想要一个花哨的用户界面,那就不再是管理员了。没有重定向。这是你的应用程序。

    这只是编码。停止搞乱管理员并开始编写你的应用程序。

    提示:尽可能使用通用视图。

    除此之外,您正在谈论您的应用,而不是破解已经有效的管理员资料。

      

    如果您知道如何破解管理员的观点和模板,那么您就不是半职业者

    错误。所有的来源都在那里。你也可以阅读它。这就是专业人士所做的。我们读了源。我们不会破解管理员应用程序。

    如果您有复杂的交易,那么您拥有一流的,真实的,实际的应用程序。不是默认管理员,而是具有表单的应用程序的一部分。

    如果你有表格,那么,你有表格。这不需要破解管理员应用程序,它只是编写更多应用程序。

答案 1 :(得分:0)

浏览本文中提到的链接。这可能对你有所帮助。

Is Django admin difficult to customize?