我正在尝试在特定模型中创建对象后管理员点击"保存"按钮后自动发送电子邮件的操作。
一种方法是验证 models.py 文件中的表单。问题是我该怎么做?我已经尝试过 views.py 如下所示:
def admin_email_sender(request):
if request.method == 'POST':
form = FaturaForm(request.POST)
if form.is_valid():
subject = 'Notificação de fatura'
from_email = settings.DEFAULT_FROM_EMAIL
to_email = [str(form.cleaned_data['cliente'].email)]
signup_message = 'Olá, ' + str(form.cleaned_data['cliente']) + 'n' +
'Você possui uma fatura para pagar até o dia ' +
str(form.cleaned_data['dia']) + ' de ' + str(form.cleaned_data['mes']) + ' de ' + str(form.cleaned_data['ano'])
send_mail(subject,
signup_message,
from_email,
to_email,
fail_silently=False)
也许可以用其他方式做到这一点。 提前谢谢。
你可以使用django信号,根据你的要求你可以使用post_save。
当您的表单有效且模型保存成功时,post_save
事件将立即触发并运行您连接到它的函数。
这是执行此类任务的非常有用的方法。建议教程 - https://simpleisbetterthancomplex.com/tutorial/2016/07/28/how-to-create-django-signals.html
仍然有任何疑问评论它。