gpt4 book ai didi

python - 添加自定义 Django 管理操作

转载 作者:太空狗 更新时间:2023-10-29 17:50:19 25 4
gpt4 key购买 nike

我正在寻找将自定义操作添加到 Django 管理更改页面的方法。我不是在寻找可以添加到概览下拉框中的操作。

我的 Django 应用程序中的一个模型包含有关文档的信息,这些信息会在前端自动编译为 PDF 文件。我想让管理员能够直接从更改页面快速呈现 PDF,以便能够快速检查结果。

我已经尝试过覆盖 change_form.html/submit_line.html,添加按钮绝对没有问题。但我想知道如何以一种干净的方式扩展管理模块,以便它包含我的自定义操作。

最佳答案

由于自定义管理 View 基本上只是普通 View ,因此没有太多特色。为了更清晰的集成,您应该考虑的一些事项:

  • 通过 get_urls() 添加 url 模式AdminSite 的。
  • 在呈现子类管理模板的模板时,将 current_app 参数提供给 RequestContextContext

编辑:

在这里找到一个例子: http://shrenikp.webs.com/apps/blog/show/5211522-add-custom-view-method-for-django-admin-model-

请注意,该示例没有使用我提到的 current_app 参数。我想您生成 PDF 的 View 只是返回具有适当内容类型的 HttpResponse 而不是使用 Context 呈现响应,因此不需要。总而言之,current_app 只有在您对自定义 View 使用的管理模板进行子类化时才有意义,该模板实际上在某处使用了 current_app

该示例将 url 和 View 封装在 ModelAdmin 中。也可以通过 AdminSite 子类来执行此操作,但至少在您的用例中这可能有点矫枉过正。

顺便说一句,重写应用程序的 change_form.html 模板以将按钮添加到标准更改 View 就可以了。管理员中没有专门的 api(不幸的是)。

关于python - 添加自定义 Django 管理操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14811464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com