Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django从Admin执行自定义函数_Python_Django_Django Models_Django Admin - Fatal编程技术网

Python Django从Admin执行自定义函数

Python Django从Admin执行自定义函数,python,django,django-models,django-admin,Python,Django,Django Models,Django Admin,我是Django的新手,已经完成了教程。我理解各个部分,但无法形成完整的解决方案 我的要求是在Admin中向模型的变更列表页面添加一个自定义按钮,将其重定向到确认页面,在确认时执行一个函数,然后重定向到具有执行状态的变更列表页面 我已经添加了自定义按钮,但之后就丢失了。 目前我正在做的就是: 更改了管理类列表模板 class ReconciliationAdmin(admin.ModelAdmin): change_list_template = 'SalesReconciliation

我是Django的新手,已经完成了教程。我理解各个部分,但无法形成完整的解决方案

我的要求是在Admin中向模型的变更列表页面添加一个自定义按钮,将其重定向到确认页面,在确认时执行一个函数,然后重定向到具有执行状态的变更列表页面

我已经添加了自定义按钮,但之后就丢失了。 目前我正在做的就是:

更改了管理类列表模板

class ReconciliationAdmin(admin.ModelAdmin):
    change_list_template = 'SalesReconciliation/change_list.html'
这是我的更改列表模板:

{% extends "admin/change_list.html" %}
{% load i18n admin_static %}

{% block object-tools-items %}
{{ block.super }}
<li>
    <a href={% url 'admin:reconcileConfirm'%} class="btn btn-high btn-success">Run Reconciliation</a>
</li>
{% endblock %}
{% url 'admin:reconcileConfirm'%}
更改子应用程序中的url.py,如下所示:

urlpatterns = [
    url(r"^reconcileConfirm/", include("SalesReconciliation.urls")),
]
urlpatterns = [
    url(r'^reconcileConfirm/', views.ReconcileConfirm, name='ReconcileConfirm')
]
在子应用程序的views.py中添加了以下内容:

def ReconcileConfirm(request):
    return HttpResponse("..something")
我希望这会像这样起作用:

单击“运行对账链接->主URL.py路由到子级” url.py->child url.py路由到views.py->views py中的函数 执行一些操作

但我得到了以下错误:

找不到“reconcileConfirm”在/SalesReconcification/Reconcification/Reverse处的NoReverseMatch“reconcileConfirm”不是有效的视图函数或模式名称

请求方法:获取

请求URL:

Django版本:2.0.4

异常类型:NoReverseMatch

异常值:未找到“reconcileConfirm”的反向

“reconcileConfirm”不是有效的视图函数或模式名称

我还想知道这是否是正确的方法。

在您的模板中:

{% extends "admin/change_list.html" %}
{% load i18n admin_static %}

{% block object-tools-items %}
{{ block.super }}
<li>
    <a href={% url 'admin:reconcileConfirm'%} class="btn btn-high btn-success">Run Reconciliation</a>
</li>
{% endblock %}
{% url 'admin:reconcileConfirm'%}
在URL.py中:

urlpatterns = [
    url(r'^reconcileConfirm/', views.ReconcileConfirm, name='ReconcileConfirm')
]
请注意,
reconcieconfirm
不同于
reconcieconfirm
。这可能是为了实现您想要的目标而要修复的第一个错误