查看未返回HttpResponse对象

时间:2017-11-30 12:21:38

标签: python django httpresponse

def signup_view(request):
    if request.method == 'POST':
        form = SignUpForm(request.POST)
        if form.is_valid():
            form.save()
            token = jwt.encode({'user_id': form.cleaned_data.get(
                'username').id}, SECRET_KEY)
            return HttpResponse(request, {'token': token.decode(
                "utf-8")})

这个逻辑形成了我的后端的一部分,它必须向前端发送响应(只是显式)。

但抛出异常:

  

视图core.views.signup_view没有返回HttpResponse对象。它改为返回None。

请帮帮我。

1 个答案:

答案 0 :(得分:1)

def signup_view(request):
    if request.method == 'POST':
        form = SignUpForm(request.POST)
        if form.is_valid():
            form.save()
            token = jwt.encode({'user_id': form.cleaned_data.get(
                'username').id}, SECRET_KEY)
            return HttpResponse(request, {'token': token.decode(
                "utf-8")})
        else:
            return HttpResponse(request)
    else:
        return HttpResponse(request)

问题是,如果您没有输入第一个HttpResponse条件,则不会发送任何if。如果您收到GET请求或表单无效,则永远不会返回。