0
我應該在我的表單中寫入認證邏輯來處理用戶登錄嗎?表單身份驗證?
例如,如果帳戶尚未激活,我想向用戶顯示消息。對於這一點,我正在做這樣的事情(太可怕了,我知道):
def login(request):
email = request.POST.get('email')
password = request.POST.get('password')
user = auth.authenticate(email=email, password=password)
if user is not None:
if user.is_active:
auth.login(request, user)
# etc
else:
# send "not activated message"
else:
# send "not found message"
它在實現比醜陋了很多,但我會從我最初的嘗試在表單處理保存在互聯網上的Django在我學習表單API之前。
在任何情況下,能夠告訴用戶他們的賬戶如果他們嘗試登錄時都不活躍,這一點很重要,這樣他們至少可以知道下一步該做什麼。表單API似乎是最有意義的:我可以執行簡單的電子郵件地址和密碼驗證,然後在我的表單上執行clean()
方法中的實際帳戶激活邏輯驗證,並在發生問題時向他們發送消息。
這樣做有什麼缺點嗎? PS:我知道Django提供了一個登錄視圖和整個九碼,但是我有特定的項目需求,在這個需求中我需要用認證等來調整相當多的東西,所以請不要暗示「使用包含的視圖,「我不能這次。
你是對的,雖然它似乎有點奇怪多餘的執行身份驗證_twice._ –