[英]How can I check whether time from model object created time is over 10mins?
models.py
@python_2_unicode_compatible
class UserAuthToken(models.Model):
email = models.ForeignKey(UserSubEmail)
token = models.CharField(max_length=34, unique=True)
created = models.DateTimeField(auto_now_add=True)
def __str__(self):
return "AuthToken for %s" % self.email
我想檢查令牌創建時間到現在之間的經過時間,因此,如果令牌創建時間超過10分鍾,則可以識別此令牌無效。
views.py
def create_email_confirm_key(request, uid, token):
try:
user_authtoken = UserAuthToken.objects.get(uid=uid)
except (TypeError, ValueError, OverflowError, User.DoesNotExist):
user_authtoken = None
if not 'user_authtoken is created before more than 10minutes' :
This token is valid and do something
如何檢查the token created
到now
之間the token created
時間是否超過10分鍾?
您始終可以使用django.utils.timezone
從當前時間計算增量:
from django.utils.timezone import now, timedelta
if now() - user_authtoken.created <= timedelta(seconds=10*60):
# token valid
但是我建議您看看django的Cryptographic簽名 。 它使您可以驗證帶有時間戳的簽名並為您處理所有增量計算。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.