NoReverseMatch:反向删除'没有找到参数。 - Django

时间:2017-11-09 01:09:28

标签: python django

我是Django的新面孔因此,如果我的问题是愚蠢的话,请体谅。所以我一直在练习Django,目前正在制作一个CRUD,但是我遇到了问题与NoReverseMatch的问题,我在stackoverflow中找到了答案,但我仍然无法找到我出错的地方。你能帮我一点吗?实际上它正在工作,当我重置数据库,不知何故它有错误,也许我移动了什么或任何不幸的事情我做了。我实际上已经在这里待了3个小时。只是这个错误。所以请帮助我:

回溯表明NoReverseMatch位于以下网址:

<a href="{%url 'deleted'%}">Delete</a>

我在urls.py中正确地合作并与以下内容联系。

url(r'^delete/(?P<pk>\d+)/', Delete.as_view(), name="deleted"),

以下是代码的要点:

deleteupdate / urls.py (删除和更新来自导入到文件的模型)

urlpatterns = [

    url(r'^', views.list, name='list'),

    url(r'^delete/(?P<pk>\d+)/', Delete.as_view(), name="deleted"),

    url(r'^update/(?P<pk>\d+)/', Update.as_view(), name="updated"),

    url(r'^(?P<student_id>)/', views.detail, name='detail'),

]

主要/ urls.py

urlpatterns = [
    url(r'^$', include('index.urls')),
    url(r'^admin/', admin.site.urls),
    url(r'^list/', include('deleteupdate.urls')),

]

以下是HTML:

{% if all_students %}

<ul>
    {% for user in all_users %}
    <li><a href="/list/{{ user.id }}"></a>



<button type="button">
<a href="{%url 'deleted'%}">Delete</a>
</button>


<button type="button">
<a href='{% url 'updated' %}'>Update</a>
</button>
{% endfor%}
</ul>

{% else %}
<h3>Users is empty</h3>
{% endif %}

我做错了什么?我想我已经遵循了我能找到的每一条建议,但是它仍然给了我错误。任何帮助表示赞赏。非常感谢你!

这是错误btw:

  

/ list /

中的NoReverseMatch      

反向删除&#39;没有找到参数。尝试过1种模式:   [&#39;列表/删除/(P \ d +?)/&#39;]

3 个答案:

答案 0 :(得分:0)

您需要<pk>与您的网址一起使用才能匹配。我为你编辑了这部分:

{% for student in all_students %}
<li><a href="/list/{{ student.id }}">{{ student.first_name }} {{ student.last_name }} ({{ student.course }})</a>

<p><a class="btn btn-lg btn-success" href="{% url "delete" pk=student.id %}"role="button">Delete</a>
            <a class="btn btn-lg btn-success" href="{% url "update" pk=student.id %}" role="button">Update</a>

 </p>

{% endfor%}

答案 1 :(得分:0)

我知道现在写这个错误的解决方案为时已晚,并且我知道您肯定已经解决了您的错误。但是我仍然将其发布给那些陷入此类问题的人。 我只需更改 HTML 文件的已删除按钮代码即可解决此问题: 只需从以下位置更改代码即可:

<button type="button">
<a href="{%url 'deleted'%}">Delete</a>
</button>

收件人:

<button type="button">
<a href="{%url 'deleted' pk=student.pk %}">Delete</a>
</button>

答案 2 :(得分:0)

我遇到了这个问题,问题是我忘记将客户ID放在网址之后

<form method="post" action="{% url 'deleteCustomer' **customer.id** %}">