我使用 Python 3.5 , Django 1.10 ,芹菜3.1.18 ,我正在开发 Windows 8
我关注了这本书Django by example,我完成了第7章。我创建了一个在线商店,当您完成订单时,应用程序必须向客户发送电子邮件。问题是我使用芹菜和兔子,我也安装了花来检查所有的任务。任务正确执行,但电子邮件永远不会到达。
这是我的tasks.py
from celery import task
from django.core.mail import send_mail
from .models import Pedido
@task
def pedido_creado(pedido_id):
pedido = Pedido.objects.get(id=pedido_id)
subject = 'Pedido nro. {}'.format(pedido.id)
message = 'Querido {}, \n\nTu pedido fue exitosamente registrado. El id de tu pedido es {}.'.format(pedido.nombre,pedido.id)
mail_sent = send_mail(subject, message, 'admin@TiendaManualidades.com', [pedido.email], fail_silently=False,)
return mail_sent
我的views.py
from django.shortcuts import render
from .models import ItemPedido
from .forms import FormCreaPedido
from carro_compras.carro_compras import Carro
from .tasks import pedido_creado
def crear_pedido(request):
carro = Carro(request)
if request.method == 'POST':
form = FormCreaPedido(request.POST)
if form.is_valid():
pedido = form.save()
for item in carro:
ItemPedido.objects.create(pedido=pedido, producto=item['producto'], precio=item['precio'], cantidad=item['cantidad'])
carro.limpiar()
pedido_creado.delay(pedido.id)
return render(request, 'pedidos/pedido/creado.html', {'pedido':pedido})
else:
form = FormCreaPedido()
return render(request, 'pedidos/pedido/crear.html', {'carro':carro, 'form':form})
我的celery.py
import os
from celery import Celery
from django.conf import settings
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'TiendaManualidades.settings')
app = Celery('TiendaManualidades')
app.config_from_object('django.conf:settings')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
最后,您可以看到任务成功但电子邮件没有发送
图像 images