2011-04-14 129 views
1

我在最後的else:後面的return render_to_response這行代碼中收到了Aptana「Expected :)」的錯誤代碼。我不能爲了我的生活找出原因,因爲據我所知,我已經關閉了所有的括號。我猜這實際上是一些其他的錯誤,Aptana(Eclipse分支)不夠聰明,不能給我實際的錯誤。當我嘗試使用此文件中的另一個視圖加載網頁時,它僅告訴我它是一個語法錯誤。爲什麼這段代碼有這個錯誤:「Expected :)」?

def login(request): 
    if request.method == 'Post': 
     username = request.POST['username'] 
     password = request.POST['password'] 
     user = authenticate(username=username, password=password) 
     if user is not None: 
      if user.is_active: 
       login(request, user) 
       return HttpResponseRedirect('/') 
      else: 
       #return a 'disabled account' error message 
       return HttpResponseRedirect('/disabled_account/') 
     else: 
      return render_to_response('login.html', { 
             'failed_login' : True, 
             'form' : AuthenticationForm() 
                }, 
             context_instance=RequestContext(request), 
            ) 
    else: 
     return render_to_response('login.html' { 
             'failed_login' : False, 
             'form' : AuthenticationForm() 
                }, 
             context_instance=RequestContext(request), 
            ) 
+0

會發生什麼事,當你運行該代碼?你應該從口譯員那裏得到提示,而不是IDE。 – 2011-04-14 03:43:05

+1

我不知道python,但似乎你在'else'部分的'login.html'後面缺少'',''。檢查它:) – Mahesh 2011-04-14 03:43:27

+0

@Rafe,正如我所說,它只是告訴我,有一個語法錯誤。 – 2011-04-14 04:09:23

回答

2

你錯過了在決賽中回線模板名稱後加上逗號。 您有:

return render_to_response('login.html' { 
            'failed_login' : False, 
            'form' : AuthenticationForm() 
               }, 
            context_instance=RequestContext(request), 
           ) 

但它應該是:

return render_to_response('login.html', { 
            'failed_login' : False, 
            'form' : AuthenticationForm() 
               }, 
            context_instance=RequestContext(request), 
           ) 
4

有一個逗號在別人的login.html的「後失蹤:部分