2014-10-08 9 views
15

Mam następujący prosty widok. Dlaczego powoduje ten błąd?Widok nie zwrócił obiektu HttpResponse. Zamiast tego zwrócił Brak

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

Odpowiedz

40

ponieważ widok musi powrótrender, nie tylko nazwać. Zmień ostatnią linię do

return render(request, 'auth_lifecycle/user_profile.html', 
      context_instance=RequestContext(request)) 
2

Miałem ten sam błąd przy użyciu UpdateView

miałem to:

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

i rozwiązałem właśnie robi:

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