Python 基于Django类的模板HttpResponseRedirect不会重定向到desire页面

Python 基于Django类的模板HttpResponseRedirect不会重定向到desire页面,python,django,redirect,Python,Django,Redirect,我有以下代码将重定向到localhost:3000/ocr/result页,但它没有呈现结果页 class UploadView(generic.TemplateView): template_name = 'ocr/upload.pug' def get(self, request, args, *kwargs): print 'Handling get request' response = TemplateResponse(re

我有以下代码将重定向到localhost:3000/ocr/result页,但它没有呈现结果页

class UploadView(generic.TemplateView): 
    template_name = 'ocr/upload.pug'      
    def get(self, request, args, *kwargs):        
    print 'Handling get request'
    response = TemplateResponse(request, self.template_name)
    return response

#@ensure_csrf_cookie
def post(self, request, args, *kwargs):
    print('Handling post request')
    #return HttpResponseRedirect('/ocr/result') 
    return HttpResponseRedirect(reverse('result')) 

class ResultView(generic.TemplateView):
    template_name = 'ocr/result.pug'
url.py看起来像:

# ex: /ocr/upload/
url(r'^upload/$', views.UploadView.as_view(), name='upload'),
# ex: /ocr/result/
url(r'^result/$', views.ResultView.as_view(), name='result'),
当我在处理post请求后使用return-HttpResponseRedirect'/ocr/result'时,它没有呈现结果页面localhost:3000/ocr/result,但仍然呈现上传页面localhost:3000/ocr/upload。我不明白为什么

当我使用return-HttpResponseRedirectreverse'result'时。它仍然有错误:找不到参数和关键字参数“{}”的“result”的NoReverseMatch:Reverse


有人能帮我重定向到/ocr/result并呈现结果页面吗?

我已经找到了答案。问题是post请求不是来自django表单。它来自Dropzone.js,在上传后使用Ajax发送post请求。这就是为什么我在处理post方法后无法重定向到另一个url的原因。通过从Dropzone更改onsuccess事件或创建Django表单,我可以使用问题中的代码成功重定向到结果页面。感谢我的一位朋友

请修复缩进,并显示完整的URL.py文件。我修复了缩进,我已经找到了原因,但仍然保留这篇文章,因为可能会遇到此问题