如何解决该视图的ValueError没有返回HttpResponse对象它返回None
我创建了一个装饰器,以便在查看视图之前检查身份验证。我正计划在所有视图上使用此装饰器。我确定我的代码正在执行。但是我遇到了以上错误。
这是我的装饰工: '''
def check_the_permissions(func):
def wrap(request):
soeid = request.GET.get('soeid')
if not soeid:
return HttpResponse("Please ..")
is_allowed = getEEMSResponse(soeid,URL)
if not is_allowed:
return HttpResponse("You do not have ...")
func(request)
return wrap
@check_the_permissions
def LimitVsUsageTrend(request):
scatterLimitVsUsage = plot(myfigure,output_type='div')
return render(request,'LimitVsUsageTrend.html",{'myplot': scatterLimitVsUsage})
'''
这是我的堆栈跟踪 追溯(最近一次通话): 内部响应中的文件“ C:\ Users \ opt \ exeception.py”第34行= get_response(request) _get_response中的文件“ C:\ Users \ opt \ base.py”的第126行“改为不返回任何内容”。 %(回调。模块,view_name) ValueError:视图plots.views.wrap没有返回HttpResponse对象。而是返回None。
解决方法
您忘记返回func(request)
调用的结果。此外,我还建议传递*args
和**kwargs
以使装饰器也适用于接受额外参数的函数:
def check_the_permissions(func):
def wrap(request,*args,**kwargs):
soeid = request.GET.get('soeid')
if not soeid:
return HttpResponse('Please ..')
is_allowed = getEEMSResponse(soeid,URL)
if not is_allowed:
return HttpResponse('You do not have ...')
return func(request,**kwargs)
return wrap
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。