Python 我总是得到一个';与#x27相反;pdf';没有找到';pdf';不是有效的视图函数或模式名称;错误

Python 我总是得到一个';与#x27相反;pdf';没有找到';pdf';不是有效的视图函数或模式名称;错误,python,django,Python,Django,这实际上是一个学生成绩门户,当一个学生想要检查他的成绩时,他点击一个搜索按钮。单击搜索按钮后,其结果将显示在屏幕上,但此代码的情况并非如此。每当我单击search按钮时,这一行代码都会突出显示,因此,我认为问题出在这一行“return render(请求,'result.html',{'object':object,'pk':pk,'marks':marks})”中。请帮忙 这就是它产生的错误 django.urls.exceptions.NoReverseMatch: Reverse for

这实际上是一个学生成绩门户,当一个学生想要检查他的成绩时,他点击一个搜索按钮。单击搜索按钮后,其结果将显示在屏幕上,但此代码的情况并非如此。每当我单击search按钮时,这一行代码都会突出显示,因此,我认为问题出在这一行“return render(请求,'result.html',{'object':object,'pk':pk,'marks':marks})”中。请帮忙

这就是它产生的错误

django.urls.exceptions.NoReverseMatch: Reverse for 'pdf' not found. 'pdf' is not a valid view function or pattern name.
[06/Apr/2021 12:44:00] "GET /dashboard/find-result/6/result/ HTTP/1.1" 500 166385

这是密码

德扬戈

       
   def index(request):
        if request.method == "POST":
            username = request.POST['username']
            password = request.POST['password']
            print("\nUser Name = ",username)
            print("Password = ",password)
            user = authenticate(username=username, password=password)
    
            if user is not None:
                login(request, user)
                return redirect('dashboard:dashboard')
            else:
                context = {'message':'Invalid Username and Password'}
                return render(request, 'index.html', context)
    
        return render(request, 'index.html', {'name': 'Risky', 'pass': 'risky'}) 
   
    class DashboardView(LoginRequiredMixin,TemplateView):
        template_name = "dashboard.html"
           
        def get_context_data(self, **kwargs):
            context = super(DashboardView, self).get_context_data(**kwargs)
            context['cls'] = StudentClass.objects.count()
            context['results'] = DeclareResult.objects.count()   
            context['students'] = Student.objects.count()
            context['subjects'] = Subject.objects.count()
    
            return context

    def find_result_view(request):
        student_class = DeclareResult.objects.all()
    
        if request.method == "POST":
            data = request.POST
            # data = json.loads(form)
            roll = int(data['rollid'])
            pk = int(data['class'])
            clss = get_object_or_404(DeclareResult, pk=pk)

            if clss.select_student.student_roll == roll:
                data = {
                    'pk': data['class']
                }
    
                return JsonResponse(data)
            else:
                pk = '0'
                data = {
                    'pk': pk
               }

            return JsonResponse(data)
   
        return render(request, 'find_result.html', {'class':student_class})


    def result(request, pk):
        object = get_object_or_404(DeclareResult, pk=pk)
        lst = []
        marks = []
    
        for i in range(int(len(object.marks)/2)):
            lst.append(object.marks['subject_'+str(i)])
            lst.append(object.marks['subject_'+str(i)+'_mark'])
            marks.append(lst)
            lst = []
    
        return render(request, 'result.html', {'object': object,'pk': pk, 'marks': marks})
 
    class PasswordChangeView(LoginRequiredMixin, PasswordChangeView):
        success_url = reverse_lazy('dashboard:dashboard')
        template_name = 'password_change_form.html'
        
        def get_context_data(self, **kwargs):
            context = super(PasswordChangeView, self).get_context_data(**kwargs)
            context['main_page_title'] = 'Admin Change Password'
            context['panel_title'] = 'Admin Change Password'
    
            return context
  
    def renderPdf(template, content={}):
        t = get_template(template)
        send_data = t.render(content)
        result = BytesIO()
        pdf = pisa.pisaDocument(BytesIO(send_data.encode("ISO-8859-1")), result)
    
        if not pdf.err:
            return HttpResponse(result.getvalue(), content_type='application/pdf')
        else:
            return None

    class pdf(View):
        def get(self, request, id):
            try:
                query = get_object_or_404(DeclareResult, id=id)
            except:
                Http404('Content Not Found')
    
            marks = []
            lst = []
            for i in range(int(len(query.marks)/2)):
                lst.append(query.marks['subject_'+str(i)])
                lst.append(query.marks['subject_'+str(i)+'_mark'])
                marks.append(lst)
                lst = []
    
            article_pdf = renderPdf('result.html', {'object': query, 

'marks':marks})
    
            return HttpResponse(article_pdf, content_type='application/pdf')

在使用pdf函数的位置添加
url.py