2012-04-26 4 views
0

Джанго говорит мне, что мой взгляд Логин не возвращает объект HttpResponse:Должен ли я иметь объект HttpRequest, если я использую render_to_response?

The view accounts.views.login didn't return an HttpResponse object. 

Однако, я использую render_to_response() везде, и нет никакого способа, вид мог закончить решения, не получив ответа. Вот код:

def login(request): 
    if request.method == 'POST': 
     form = LoginForm(request.POST) 
     if form.is_valid(): 
      username = request.POST['username'] 
      password = request.POST['password'] 
      user = authenticate(username=username, password=password) 
      if user is not None: 
       if user.is_active: 
        auth_login(request, user) 
        render_to_response('list.html') 
       else: 
        error = "It seems your account has been disabled." 
        render_to_response('list.html', {'error': error}) 
      else: 
       error = "Bad login information. Give it another go." 
       render_to_response('list.html', {'error': error}) 
     else: 
      error = "Bad login information. Give it another go." 
      render_to_response('list.html', {'error': error}) 
    else: 
     error = "Whoa, something weird happened. You sure you're using the form on our site?" 
     render_to_response('list.html', {'error': error}) 

Я уверен, что код может быть более эффективным (менее делает), но это должно работать, правильно?

ответ

5

Вы пропускаете возврат товара

return render_to_response('list.html', {'error': error}) 
+0

* вздох *, мне нужно больше спать. Большое вам спасибо, и я приношу свои извинения за то, что тратил ваше время. – n0pe

2

Вам необходимо вернуть ответ render_to_response в. Я также предлагаю вам некоторые улучшения кода:

Смежные вопросы