【问题标题】:Django. Edit model form in popup in admin姜戈。在管理员的弹出窗口中编辑模型表单
【发布时间】:2012-02-09 15:20:00
【问题描述】:

是否有任何适用于 django 管理员的现成应用程序,允许在弹出窗口中编辑模型?

我想要下一个功能:

  • 在弹出窗口中查看模型的编辑表单。
  • 在模型保存时 - 更新模型列表中的行。

动机:减少页面重新加载。

另外,是否有面向 django 的大量手动数据更新的解决方案?我看过 django grappelli - 它改进了数据视图,但编辑数据仍然不可用。

P.S.:如果没有这样的应用程序 - 我将启动开源项目。

【问题讨论】:

  • 我对此表示怀疑 - "the admin is not your app"。您始终可以编写自己的带有弹出窗口的 CRUD 界面,但是管理员在很多方面都故意简单化,并且当前没有对模型列表进行就地更新的机制 - 这将是其工作方式的一个相当大的变化。跨度>
  • “管理员不是你的应用”并没有完全说出你的想法,而且在很多情况下我认为这是一个糟糕的建议。

标签: python django django-admin


【解决方案1】:

如果您想打开一个弹出窗口,只需创建一个指向“添加”视图的链接,并在该链接上使用以下属性onclick='return showAddAnotherPopup(this);'

【讨论】:

  • 绝招!你知道是否有办法在保存时关闭弹出窗口?
【解决方案2】:

您可以使用 django 内置的管理员自定义功能来完成您所要求的大部分内容(至少第 1 点和第 2 点)。

看看https://docs.djangoproject.com/en/dev/ref/contrib/admin/

django admin 本身已经使用了一些类似的东西,请特别注意请求 URI 中的 django _popup=1 变量。

您必须添加自定义 modelname_change_list.html 文件以提供一些 javascript,并在 ModelAdmin 中覆盖 delet_view、change_view、response_add 和可能的 response_change。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-05
    • 1970-01-01
    • 2020-11-22
    • 2011-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-21
    相关资源
    最近更新 更多