Django从管理员

时间:2018-05-14 05:16:04

标签: python django django-models django-admin

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

我的要求是在管理员的模型更改列表页面中添加自定义按钮,将其重定向到确认页面,在确认时执行功能,然后重定向到具有执行状态的更改列表页面。

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

更改了管理类列表模板

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 %}

更改主应用中的 urls.py ,如下所示:

urlpatterns = [
    url(r"^reconcileConfirm/", include("SalesReconciliation.urls")),
]

更改了子应用中的 urls.py ,如下所示:

urlpatterns = [
    url(r'^reconcileConfirm/', views.ReconcileConfirm, name='ReconcileConfirm')
]

在子应用的 views.py 中添加了以下内容:

def ReconcileConfirm(request):
    return HttpResponse("..something")

我希望这会像:

  

点击“运行对帐”链接 - &gt;主要urls.py路由到孩子   urls.py - &gt; child urls.py路由到views.py - &gt;视图中的函数py   执行一些操作

但我收到以下错误:

   NoReverseMatch at / SalesReconciliation / reconciliation / Reverse for&#39; reconcileConfirm&#39;未找到。 &#39; reconcileConfirm&#39;不是有效的视图函数或模式名称。

     

请求方法:GET

     

请求网址:http://127.0.0.1:8000/SalesReconciliation/reconciliation/

     

Django版本:2.0.4

     

异常类型:NoReverseMatch

     

异常值:反向&#39; reconcileConfirm&#39;没找到。

     

&#39; reconcileConfirm&#39;不是有效的视图函数或模式名称。

此外,我想知道这是否是正确的方法。

1 个答案:

答案 0 :(得分:0)

在你的模板中:

{% url 'admin:reconcileConfirm'%}
在urls.py中

urlpatterns = [
    url(r'^reconcileConfirm/', views.ReconcileConfirm, name='ReconcileConfirm')
]

请注意,ReconcileConfirmreconcileConfirm不同。这可能是为了实现您想要的目标而修复的第一个错误。