通过 models.py 进行 Django 表单验证



我正在尝试在特定模型中创建对象后管理员点击"保存"按钮后自动发送电子邮件的操作。

一种方法是验证 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

仍然有任何疑问评论它。

最新更新