我应该在Django中何时何地向用户发送推送通知



例如,我有一个YouTubeVideo模型。

当管理员创建视频时,他将视频id传递给管理员界面,然后在第一次保存视频详细信息时加载,管理员可以对这些详细信息进行一些更改(例如,删除视频描述中的内容):

def save(self, force_insert=False, force_update=False, using=None, update_fields=None):
        if self.id is None:
            video_data = json.loads(urllib2.urlopen(
                'https://www.googleapis.com/youtube/v3/videos?key=somekey&part=snippet&id=%s' % self.video_id).read())
            video_info = video_data['items'][0]['snippet']
            self.title = video_info['title']
            self.description = video_info['description']
            if 'thumbnails' in video_info:
                if 'high' in video_info['thumbnails']:
                    self.thumb = video_info['thumbnails']['high']['url']
                if 'maxres' in video_info['thumbnails']:
                    self.thumb_max_res = video_info['thumbnails']['maxres']['url']
                else:
                    self.thumb_max_res = self.thumb

并且只有在这完成之后(在管理员编辑之后),我想向用户发送推送通知。

所以,问题是,我应该怎么做?(我的意思是我应该在我的代码中做什么?)

我认为你可以使用django信号post_save方法。它的目的是在对象保存后进行后处理。我不建议重写save方法,因为它很容易弄乱。Django doc: https://docs.djangoproject.com/en/1.8/ref/signals/#post-save

最新更新