Django admin:如何在单击自定义按钮时调用操作?

Posted

技术标签:

【中文标题】Django admin:如何在单击自定义按钮时调用操作?【英文标题】:Django admin : How to call an action on a click of custom button? 【发布时间】:2019-10-28 18:57:14 【问题描述】:

我有一个显示订单列表的 django 管理视图。我添加了一个自定义按钮,单击该按钮时应执行特定操作。

所以我在 services.py 文件中定义了一个函数:

def penalty(order):
  #Do something

那么,当点击Penalty时我应该如何调用这个函数。我可以创建一个视图,但是如何调用呢?

【问题讨论】:

这是使用 Django 表单还是任何其他前端技术创建的? 是的,它是使用 Django Form 创建的。 【参考方案1】:

以下答案可能有助于解决您的问题。

How do I call a Django function on button click?

Django: How can I call a view function from template?

Call Django on html button click

【讨论】:

【参考方案2】:

你需要的都在这里:

https://medium.com/@hakibenita/how-to-add-custom-action-buttons-to-django-admin-8d266f5b0d41

按照简单的步骤,您就可以开始了。 网络上还有很多其他人。

【讨论】:

【参考方案3】:

你可以像这样添加一个URL来调用一个函数

     def get_urls(self):
        urls = super().get_urls()
        custom_urls = [
            path(
                'penalty/<int:id>',
                self.admin_site.admin_view(self.penalty),
                name='penalty'
            )
        ]
        return custom_urls + urls

在 Django 管理中单击按钮

【讨论】:

以上是关于Django admin:如何在单击自定义按钮时调用操作?的主要内容,如果未能解决你的问题,请参考以下文章

单击Swift 4中的自定义按钮时调整单元格大小

自定义注销页面未登陆

如何在 React Native 中单击按钮时调用具有不同参数的相同 api

添加自定义按钮以链接到另一个模型 Django Admin

Django admin - 如何在自定义管理表单中为多对多字段添加绿色加号

如何在 Django-admin 中添加自定义搜索框?