0
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")})

This logic forms a part of my back-end that has to send response to front-end (just being explicit).

But an exception is thrown:

The view core.views.signup_view didn't return an HttpResponse object. It returned None instead.

Please help me.

Ronan Boiteau
  • 9,608
  • 6
  • 34
  • 56
  • Possible duplicate of [Django didn't return an HttpResponse object](https://stackoverflow.com/questions/15217193/django-didnt-return-an-httpresponse-object) – rafalmp Nov 30 '17 at 14:11

1 Answers1

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)

The problem is you are not sending any HttpResponse if you don't enter the first if condition. If you receive a GET request or an invalid form, you never return.

Ronan Boiteau
  • 9,608
  • 6
  • 34
  • 56
Exprator
  • 26,992
  • 6
  • 47
  • 59