在models.py或managers.py中添加一个函数

时间:2012-12-14 13:58:10

标签: django

我想向新注册用户发送激活链接。我应该在models.py或managers.py中编写我的函数吗?

即使在阅读完文档之后,我也总是很难知道将函数放在哪里。

3 个答案:

答案 0 :(得分:3)

他们,模型和经理都与应用数据无关。发送电子邮件与您的应用程序的逻辑相关:操作,决策,答案......所以您应该在view中执行此操作。

如果您需要节省时间,可以使用Django注册,正如@karthikr建议的那样,这个应用程序是实现这一目标的好包装。

我假设您需要在用户注册时发送链接,但如果您想在其他时刻执行此操作,则可以使用计划任务:django cron,外部python进程或.. 。这取决于你:你的porpuse,你的应用程序的设计。

答案 1 :(得分:2)

This blog可以帮助您更好地了解经理的使用情况。

我会将激活链接放在管理器中,因为它可以更容易地管理它周围的各种活动 - 重新发送激活链接,验证等。它也可以用模型完成,但管理器使其更加模块化。

Django Registration被广泛用于注册 - 你可以看到它是如何在那里实现的。

答案 2 :(得分:0)

是的,您可以在models.py中编写自定义函数,但不确定manage.py。

我在models.py中使用信号方法来处理邮件服务设施。