我想向新注册用户发送激活链接。我应该在我的models.py 或managers.py 中编写我的函数吗?
即使在阅读了文档之后,我也总是很困惑知道函数放在哪里。
它们、模型和管理器都与应用程序数据无关。发送电子邮件与您的应用程序的逻辑相关:操作、决策、答案……因此您应该在视图中执行此操作。
如果您需要节省时间,您可以按照@karthikr 向您建议的方式使用 Django 注册,这个应用程序是实现此目标的一个很好的包装器。
我假设您需要在用户注册的那一刻发送链接,但如果您想在其他时候执行此操作,您可以使用计划任务:django cron、外部 python 进程或...;这取决于你:你的网站,你的应用程序的设计。
该博客可以帮助您更好地了解管理器的使用。
我会将激活链接放在管理器中,因为管理它周围的各种活动会更容易——重新发送激活链接、验证等。它也可以用模型来完成,但是管理器使它更加模块化。
Django Registration被广泛用于注册——你也可以看到它是如何在那里实现的。
是的,您可以在 models.py 中编写自定义函数,但不确定 manage.py 。
我在 models.py 中使用了信号方法来提供邮件服务。