我希望得到一个通知
电子邮件
对自己(作为管理员),当有新的订单放在我的Django的奥斯卡店。
我认为,你可以使用django signals。
Django的奥斯卡有多个操作定义了一些信号,其中一人被关联到order placed.的作用
这个信号提供有关所发出的命令,谁取得了订单的用户信息。您可以使用这些信息来发送电子邮件。
我希望这将是对您有用!
还有就是我下面将电子邮件发送到管理员的方式,我做了什么是分叉的顺序应用程序和去了utils.py,跑到place_order功能OrderCreator下()类,奥斯卡发送信号,下订单的从奥斯卡的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,
)