Python 如何检查创建模型对象的时间是否超过10分钟?
型号.pyPython 如何检查创建模型对象的时间是否超过10分钟?,python,django,Python,Django,型号.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):
@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分钟之前创建,我可以识别出该令牌无效
视图.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
如何检查
创建的令牌
和现在
之间的时间是否超过10分钟?您始终可以使用以下方法从当前时间计算增量:
从django.utils.timezone立即导入,timedelta
如果now()-user_authtoken.created您始终可以使用以下公式计算当前时间的增量:
从django.utils.timezone立即导入,timedelta
if now()-user_authtoken.created
from django.utils.timezone import now, timedelta
if now() - user_authtoken.created <= timedelta(seconds=10*60):
# token valid