ValueError 视图没有 return HttpResponse 对象。它 return 改为 None
ValueError the view didn't return an HttpResponse object. It returned None instead
我创建了一个装饰器来在我查看之前检查身份验证。我打算把这个装饰器放在所有视图上。我确定我的代码正在执行。但是我收到了上述错误。
这是我的装饰器:
'''
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(请求)
_get_response 中的文件“C:\Users\opt\base.py”第 126 行“returned None 相反。” % (回调.模块, view_name)
ValueError: 视图 plots.views.wrap 没有 return HttpResponse 对象。它 return 改为 None。
您忘记了 return func(request)
调用的结果。此外,我还建议传递 *args
和 **kwargs
以使装饰器也适用于接受额外参数的函数:
def check_the_permissions(func):
def wrap(request<b>, *args, **kwargs</b>):
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 ...')
<b>return</b> func(request<b>, *args, **kwargs</b>)
return wrap
我创建了一个装饰器来在我查看之前检查身份验证。我打算把这个装饰器放在所有视图上。我确定我的代码正在执行。但是我收到了上述错误。
这是我的装饰器: '''
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(请求) _get_response 中的文件“C:\Users\opt\base.py”第 126 行“returned None 相反。” % (回调.模块, view_name) ValueError: 视图 plots.views.wrap 没有 return HttpResponse 对象。它 return 改为 None。
您忘记了 return func(request)
调用的结果。此外,我还建议传递 *args
和 **kwargs
以使装饰器也适用于接受额外参数的函数:
def check_the_permissions(func):
def wrap(request<b>, *args, **kwargs</b>):
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 ...')
<b>return</b> func(request<b>, *args, **kwargs</b>)
return wrap