首页 > 解决方案 > 处理表单时处理 SMS 消息

问题描述

我有一些视图处理正在创建的新对象的表单,由于必须连接到 Twilio API,它们似乎滞后于用户体验。例如,以下form_valid方法向备忘录的所有接收者发送 SMS 消息:

    def form_valid(self, form):
        form.instance.sender = self.request.user
        form.save()
        receiving_groups = form.cleaned_data['receiver']

        for group in receiving_groups:
            username = list(
                employees.models.Employee.objects.filter(
                    employee_type=group))
            for user in username:
                form.instance.unread.add(user)
                memo_url = form.instance.pk
                user.send_sms('memo', memo_url)
                user.send_email('memo', memo_url)

        form.save()
        return super(MemoCreateView, self).form_valid(form)

这里的问题是该send_sms方法必须等待响应才能继续。这确实使网站对用户来说似乎很慢。

我已经开始创建一个request_finished信号,但我必须向信号传递很多参数,所以这似乎是一个糟糕的选择。

在创建对象的成功/重定向后发送 SMS 消息还有哪些其他选项?

标签: djangopython-3.xtwilio

解决方案


推荐阅读