【发布时间】:2018-04-21 21:14:36
【问题描述】:
我是 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'),
]
main/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 %}
我做错了什么?我想我已经遵循了我能找到的每一个建议,但是它仍然给了我错误。任何帮助表示赞赏。非常感谢!
这里是错误顺便说一句:
/list/ 处的 NoReverseMatch
未找到参数的“已删除”反向。尝试了 1 种模式: ['列表/删除/(?P\d+)/']
【问题讨论】:
-
您的
deletedURL 要求您指定pk,但您没有。你需要做{% url 'deleted' <pk here> %}。 -
@Blurp 同样的想法,我尝试了他的代码,它使用我在下面写的答案对我有用,但是 pk='user.id' 有问题,网址不会重定向,它一无所获,我很感兴趣为什么会这样。我是否以错误的方式通过了pk?请赐教。