我正在制作一个网络应用程序来管理学生。创建/更新学生时 引发“ NoReverseMatch”错误。我是django的新手,但是我无法弄清楚为什么当urls文件中存在完全相同的模式名称时,它会引发错误。删除重定向也不起作用。
urls.py:
path('Student/', views.StudentListView.as_view(), name='Students'),
path('Student/<int:pk>', views.StudentDetailView.as_view(), name='Student-detail'),
path('Student/create/', views.StudentCreate.as_view(), name='Student_create'),
path('Student/<int:pk>/update/', views.StudentUpdate.as_view(), name='Student_update'),
path('Student/<int:pk>/delete/', views.StudentDelete.as_view(), name='Student_delete'),
views.py:
class StudentDetailView(generic.DetailView):
model = Student
class StudentListView(generic.ListView):
model = Student
template_name = 'main/student_list.html'
class StudentCreate(CreateView):
model = Student
fields = '__all__'
class StudentUpdate(UpdateView):
model = Student
fields = ['student_name']
class StudentDelete(DeleteView):
model = Student
success_url = reverse_lazy('Students')
student_form.html:
{%block content%}
<body>
Add new student:
<form action="" method="post">
{% csrf_token %}
<table>
{{ form.as_table }}
</table>
<input type="submit" value="Submit">
</form>
</body>
{%endblock%}
我收到以下错误,而不是重定向回学生详细信息页面:
/ Student / 1 / update /
处的NoReverseMatch未找到“学生详细信息”的反面。 “学生详细信息”不是有效的视图功能或模式名称。
谢谢。