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))
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))
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
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'))