繁体   English   中英

管理员端修改django

[英]Admin side modification django

我有这个课程,当我提交一个名字时,它会转到管理员,只有管理员才能批准这个。 我希望当管理员批准电子邮件时应自动发送给用户。

  class myab(models.Model):
        generic_name = models.CharField(max_length=50, null=False)
        timestamp = models.DateTimeField(auto_now_add=True)
        is_approved = models.BooleanField(null=False, default=False)

我只想知道如何触发电子邮件代码。 我还有其他一切只是想了解当管理员批准这篇文章时如何触发该功能。

您可以为post-save 信号创建一个监听器函数,并使用if来检查实例是否被批准; 阅读信号文档以获得更好的理解。

信号接收器可能类似于:

from django.core import mail
from django.db.models.signals import post_save
from django.dispatch import receiver
from myapp.models import MyModel


@receiver(post_save, sender=MyModel)
def my_handler(sender, instance, created, *args, **kwargs):
    ...

    if instance.is_approved:
        mail.send_mail(...)

突出显示文档的这一部分

这段代码应该放在哪里?

[...] 信号处理 [...] 代码可以放在您喜欢的任何地方,尽管建议避免应用程序的根模块及其模型模块 [...]

实际上,信号处理程序通常定义在与它们相关的应用程序的信号子模块中 [...]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM