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
之间的时间是否超过10分钟?
答案 0 :(得分:2)
您始终可以使用django.utils.timezone
来计算当前时间的增量:
TThread.CreateAnonymousThread(procedure ()
begin
TThread.Synchronize(nil, procedure ()
begin
Edit1.SelectAll();
end);
end).Start
但我建议你看一下django' Cryptographic signing。它允许您verify timestamped signatures并为您处理所有增量计算。