自定义Django Admin表单-添加执行API调用的按钮

时间:2018-10-24 21:03:39

标签: python django django-admin

我想添加一个自定义按钮,当我单击该按钮并返回上一页时,该按钮将调用API端点。

我的自定义表单为

{% extends 'admin/change_list.html' %}

{% block object-tools %}
    <div>
        <form action="myurl/" method="POST">
            {% csrf_token %}
                <button type="submit">go!</button>
        </form>
    </div>
    <br />
    {{ block.super }}
{% endblock %}

我可能需要将action添加到form,但是我不知道该怎么做。

在我的admin.py中,我有

def get_urls(self):
    urls = super().get_urls()
    urls += [
        path('myurl/', self.update_summary)
    ]

    return urls

def update_summary(self, request):
    print('&'*20)
    # i should add my function here but I want to print out the &s first
    self.message_user(request, "done!!!!")
    return HttpResponseRedirect("../")

几个问题:

  1. 我的方法正确吗?
  2. 我需要做什么来调用我的API,例如端点是localhost:8000/some/endpoint/reverse('myendpoint')

编辑:

我进行了更多调查后,

编辑了这个问题。感觉我的电话应该是正确的。通过单击按钮调用myurl/,然后调用执行我的操作的self.update_summary。

但是我不断收到Reviewed txn by person with ID "myurl" doesn't exist. Perhaps it was deleted?之类的警告

我没有使用ID打电话,如何禁用该电话?

0 个答案:

没有答案