你如何处理Django中的订阅确认链接?

时间:2014-09-13 18:15:59

标签: python django

在我的应用程序中,当人们注册时,他们只需输入他们的电子邮件地址。 用户在Django中创建,“is_confirmed”字段设置为False。

在此之后,我想向新用户发送一封包含点击链接的电子邮件。 该链接应允许此新用户输入补充信息,并在最终注册前选择密码。

问题是:

  • 如何在Django中生成这些链接? (我认为这些链接应该是唯一的,并且有点安全,没有人可以“猜测”URL)
  • 您在哪里触发邮件发送? (信号?save()用户方法?其他?)

谢谢!

1 个答案:

答案 0 :(得分:0)

查看django-invitation之类的内容,了解如何经常这样做。他们描述了我认为你想要的标准生成密钥/发送电子邮件/访问唯一URL方案。他们确实使用模型上的保存后挂钩来发送您提到的电子邮件。

关于生成密钥,请参阅models.py文件,其中包含以下内容:

salt = sha_constructor(str(random.random())).hexdigest()[:5]
key = sha_constructor("%s%s%s" % (datetime.datetime.now(), salt, user.username)).hexdigest()

希望有所帮助!