【发布时间】:2014-01-26 01:26:42
【问题描述】:
我有一个问题,我不明白为什么我不能让它工作。
我正在尝试在商店中的当前登录用户使用贝宝付款后向他发送电子邮件。
这是我的代码:
views.py
def send_email(**kwargs):
#Sacar el Carrito que necesitamos
user = kwargs.get('instance')
cart = Cart.objects.get(client=user)
cartitems = cart.items.all()
#Llamamos el html
ctx = {'pagesize':'A4', 'cart':cart, 'cartitems':cartitems}
html = render_to_string('frontend/order.html',ctx)
#Configuracion enviando mensaje via GMAIL
to_admin = 'sergiomonge10@gmail.com'
msg = EmailMultiAlternatives(subject='Success Email',to=[to_admin])
msg.attach_alternative(html,'text/html')
msg.send()
payment_was_successful.connect(send_email)
payment_was_flagged.connect(send_email)
但是因为没有用户而失败。我不知道为什么。任何帮助将不胜感激
【问题讨论】:
-
Estas seguro que la señal si se ejecuta?你确定信号被调用了吗?
-
是的,付款成功,但是当贝宝网站重定向到我的网站时,信号 payment_was_successful.connect(send_email) 应该可以完成工作,但它会发送一个错误,这是因为 cart = Cart.objects.get(client=user) 没有购物车,因为没有用户:S 这就是我需要的,Si hablo español。 xD
-
好的,所以你必须调试,在 user=... 输入 print kwargs, dir(kwargs.get('instance')) 之前,告诉我它打印了什么, Lo supuse por los comentarios de el código :)
-
响应为无。购物车匹配查询不存在。错误在这里“cart = Cart.objects.get(client=user)”,Por cierto te mande una invitacion a facebook,ya que veo que eres djanguero
-
不,但是 print kwargs, dir(kwargs.get('instance')) 这打印什么? Al rato te acepto, si soy djanguero :)