我想收到通知
当我的django-oscar商店有新订单时,我自己(作为管理员)。电子邮件
答案 0 :(得分:0)
我认为您可以使用django signals。
Django-Oscar为多个动作定义了一些信号,其中一个与order placed.
的动作相关联此信号提供有关订单和订单用户的信息。您可以使用此信息发送电子邮件。
我希望它对你有用!
答案 1 :(得分:0)
我有一种方法可以将电子邮件发送给管理员,我所做的是将订单应用程序分叉,然后转到utils.py,转到OrderCreator()类下的place_order函数,oscar为从oscar的github上订购代码是here,所以我所做的就是在此之后放置了发送电子邮件代码。 因此,我在管理端使用代码ADMIN_ORDER_MAIL创建了一个通信事件类型,并在此处用于发送邮件。
我的代码在这里:
# Send an email to admin on placing of order
ctx = {'order': order, 'user': order.user}
commtype_code = 'ADMIN_ORDER_MAIL'
try:
event_type = CommunicationEventType.objects.get(code=commtype_code)
# print("Event type typr: ", type(event_type))
# self.create_communication_event(order, event_type)
except Exception as e:
messages = CommunicationEventType.objects.get_and_render(code=commtype_code, context=ctx)
# print(e)
else:
messages = event_type.get_messages(ctx)
send_mail(
subject=messages['subject'],
message='',
html_message=messages['html'],
from_email='from email address',
recipient_list=['to email address'],
fail_silently=False,
)