Django URL错误:在我的应用程序中noreversematch



我在Django应用中看到这个错误

NoReverseMatch at /kaitorihyou/delete_fields_group/18
Reverse for 'delete_fields_group' with arguments '('',)' not found. 1 pattern(s) tried: ['kaitorihyou/delete_fields_group/(?P<fields_group_id>[0-9]+)\Z']

这是我的模板中重定向到此URL 的行

<form action="{% url 'kaitorihyou:delete_fields_group' fields_group_id %}" method="delete">

我的urls.py在问题中确实包含此模式

app_name = "kaitorihyou"
urlpatterns = [
path('delete_fields_group/<int:fields_group_id>', views.delete_fields_group, name="delete_fields_group"),
# etc.
]

为什么url模式不匹配?

如果我将表单中的action=更改为此,则有效

<form action="/kaitorihyou/delete_fields_group/{{ fields_group_id }}" method="delete">

自己找到了答案。

问题是urls.py没有包含尾部斜杠,所以

# this is wrong
path('delete_fields_group/<int:fields_group_id>', ...),
# should be this
path('delete_fields_group/<int:fields_group_id>/', ...),

最新更新