web-dev-qa-db-de.com

Die Ansicht hat kein HttpResponse-Objekt zurückgegeben. Stattdessen wurde None zurückgegeben

Ich habe folgende einfache Ansicht. Warum kommt es zu diesem Fehler?

The view auth_lifecycle.views.user_profile didn't return an HttpResponse object. It returned None instead.

"""Renders web pages for the user-authentication-lifecycle project."""
from Django.shortcuts               import render
from Django.template                import RequestContext
from Django.contrib.auth            import authenticate, login

def user_profile(request):
    """Displays information unique to the logged-in user."""

    user = authenticate(username='superuserusername', password='sueruserpassword')
    login(request, user)

    render(request, 'auth_lifecycle/user_profile.html',
           context_instance=RequestContext(request))
25
aliteralmind

Weil der View returnrender muss, nicht nur aufrufen. Ändern Sie die letzte Zeile in

return render(request, 'auth_lifecycle/user_profile.html',
           context_instance=RequestContext(request))
60
aliteralmind
if qs.count()==1:
        print('cart id exists')
        if ....

else:    
        return render(request,"carts/home.html",{})

Ein solcher Codetyp gibt auch den gleichen Fehler zurück, der aufgrund der Absichten auftritt, die die return-Anweisung haben sollte, andernfalls nicht für die if-Anweisung.

der obige Code kann in geändert werden

if qs.count()==1:
        print('cart id exists')
        if ....

else:   

return render(request,"carts/home.html",{})

Dies kann solche Probleme lösen

2

Ich hatte den gleichen Fehler bei der Verwendung eines UpdateView

Ich hatte das:

if form.is_valid() and form2.is_valid():
    form.save()
    form2.save()
    return HttpResponseRedirect(self.get_success_url())

und ich löste gerade dabei:

if form.is_valid() and form2.is_valid():
    form.save()
    form2.save()
    return HttpResponseRedirect(reverse_lazy('adopcion:solicitud_listar'))
2
Angie Alejo