2013-03-21 149 views
0
  • 的Python 3
  • 的Django 1.5

我已經成功地創建了用戶create_user(),用戶可以登錄到管理部分。但是,在我的views.py中編寫代碼,以便用戶可以在任何其他地方登錄,不起作用。這是我使用的代碼,即使用戶名&密碼絕對正確,authenticate()仍然會返回None身份驗證()始終返回無

def dologin(request): 
    usrnym = request.POST['usrnym'] 
    psswrd = request.POST['usrpass'] 
    usr = authenticate(user=usrnym,password=psswrd) 
    if usr is not None: 
     if usr.is_active: 
      login(request, usr) 
      # redirect to success page 
     else: 
      pass 
      # redirect to a 'disabled account' error message 
    else: 
     # return an 'invalid login' error message 
     errmsg = "Invalid login. Password and username did not match." 
     template = loader.get_template('fsr/loginform.html') 
     context = RequestContext(request, { 
      'title': "Login Page", 
      'error': errmsg, 
      'usr': usrnym, 
      'pwd': psswrd, 
      'usra': usr, 
     }) 
     return HttpResponse(template.render(context)) 

回答

2

我可能是錯的,但它不應該是?

usr = authenticate(username=usrnym,password=psswrd)

+0

咄!我討厭這樣愚蠢的問題。過去一天左右,我的腦子都在炒。 Django讓我感到頭暈。謝謝!它現在有效。 – Zamphatta 2013-03-21 20:38:54

+0

不用擔心。當你有一雙額外的眼睛看看你的代碼時,它總是有幫助的。 – eandersson 2013-03-21 20:39:56

2

它應該是用戶名不是用戶的語法錯誤

usr = authenticate(username = usrnym, password = psswrd) 
+0

謝謝!不知怎的,我完全錯過了這個細節,並且在過去的2個小時裏我搜遍了這段代碼。對不起,我沒有把你的評論標記爲答案,我直到看到另一個後纔看到它。 – Zamphatta 2013-03-21 20:40:36

相關問題