我是Django的新手,这是我第一次使用短信验证来实现signUp表单。在哪里保存发送给用户注册的验证码
我得到用户手机号码并生成一个随机数并发送给他;我希望生成的代码在30分钟后过期,之后我不需要它们,所以它似乎不是一个好主意,它们保存在数据库中,并在过期后删除它们。
我想知道是否有人可以帮助我解决这个问题:“实现这个的最好方法是什么?”
非常感谢你提前
我是Django的新手,这是我第一次使用短信验证来实现signUp表单。在哪里保存发送给用户注册的验证码
我得到用户手机号码并生成一个随机数并发送给他;我希望生成的代码在30分钟后过期,之后我不需要它们,所以它似乎不是一个好主意,它们保存在数据库中,并在过期后删除它们。
我想知道是否有人可以帮助我解决这个问题:“实现这个的最好方法是什么?”
非常感谢你提前
将它们保存在Redis中。 Redis密钥可以具有TTL(生存时间),TTL密钥在时间段后自动删除。
import redis
r = redis.StrictRedis()
# create pin
r.set("<phone-number>", <sms-pin>)
r.expire("<phone-number>", 1800) # 1800 seconds = 1/2 hour
# get pin
if r.exists("<phone-number>"):
pin=r.get("<phone-number>")
... validate pin
else:
... invalid pin
在http://agiliq.com/blog/2015/03/getting-started-with-redis-py/
更多的文档,您可能需要使用[Django的OTP(https://pypi.python.org/pypi/django-otp) – v1k45