我正在django中創建登錄表單。當我運行應用程序並填寫用戶名和密碼字段時。該頁面始終重定向到一個條件(用戶名是否正確)。登錄表格問題
的代碼是:
def home(request):
if request.method == 'POST':
username = request.POST.get('user_name')
password = request.POST.get('password')
user = authenticate(user_name=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
# success
return render_to_response('registration/main_page.html',{'form':login},context_instance=RequestContext(request))
else:
#user was not active
return render_to_response('registration/q.html')
else:
# not a valid user
return render_to_response('registration/home.html')
else:
# URL was accessed directly
return render_to_response('registration/w.html')
它總是重定向到home.html的
else:
#user was not active
return render_to_response('registration/home.html')
爲什麼會發生?
您需要評估IS_ACTIVE對於初學者來說,這不是一個模板,所以它應該是,user.is_active() –
你的代碼示例混在一起。評論說#user沒有激活,但是你正在重定向到主頁。查看頂部代碼,當用戶無效時,重定向到主頁。哪種情況是正確的? – Mikael
我猜這裏傳遞的用戶是不活動的 – Rakesh