首页 > 解决方案 > 当我单击页面时,此错误会引发 Reverse for 'delete' with arguments '('',)' not found。尝试了 1 种模式:['delete/(?P[0-9]+)$']

问题描述

博客.html

  {% block content %}

  <p>Blog's Title: {{ topic }}</p>

  <ul>
  {% for feed in blogs %}
    <li>
      <p>{{ feed.date_added|date:'M d,Y H:i' }}</p>
      <p>{{ feed.note|linebreaks }}</p>
    </li>
  {% empty %}
    <li>There are no Blogs Yet.</li>
  {% endfor %}
  </ul>


#Here is that Delete blog link.

  <p>Do you want to delete this Blog?</p>
  <a href="{% url 'mains:delete' deletej.id %}"> Delete This Blog</a>

{% endblock content %}

views.py(这是删除博客的视图)

def delete(request, blog_id):
    deletej = get_object_or_404(Blog,id=blog_id)
    deletej.delete()
    return HttpResponseRedirect('home')

网址.py

    path('delete/<int:blog_id>',views.delete,name='delete'),

当我单击博客页面时,此错误(未找到带有参数“(”,)“的“删除”的反向。尝试了 1 种模式:['delete/(?P<blog_id>[0-9]+ )$'] ) 被提出。

请帮助我。我将非常感谢您的帮助。

标签: djangodjango-modelsdjango-viewsdjango-templatesdjango-urls

解决方案


您需要在模板中为您的 url 提供关键字参数。

<a href="{% url 'mains:delete' blog_id=deletej.id %}"> Delete This Blog</a>

推荐阅读