如何修复Django

时间:2019-04-10 10:21:24

标签: python django

我正在制作一个网络应用程序来管理学生。创建/更新学生时 引发“ 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

未找到“学生详细信息”的反面。 “学生详细信息”不是有效的视图功能或模式名称。

谢谢。

0 个答案:

没有答案