0
我正在編寫一個python函數來驗證電子郵件中的令牌。在電子郵件中,有一個帶有端點的網址。我有兩個url參數,令牌和電子郵件地址。在我的終點我要檢查:在正常代碼中使用assert
- 如果參數中的URL
- 如果在數據庫
- 一個關聯令牌,如果它對應於用戶的電子郵件
- 如果令牌如果已經使用
我選擇包裝所有這些檢查在try except
塊仍然有效(後2天到期)
assertFalse
和assertEqual
,如果它不正確,會引發異常。 try:
# pull from url
email = request.GET['email']
value_token = request.GET['token']
# test if valid
token = EmailValidationToken.objects.get(token=value_token)
assertFalse(token.consumed)
assertEqual(email, token.user.email)
assertFalse(token.is_expired())
except:
pass # return error
我喜歡我這樣做的方式,因爲它超級乾淨。 這是一個很好的做法嗎?這個問題還有其他解決方案嗎?