教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

Django如何给客户端推送消息?App推送怎样实现?

更新时间:2021年05月28日16时50分 来源:传智教育 浏览次数:

传智教育-一样的教育,不一样的品质

(1)问题分析

面试官主要想考察的是在网页应用中,需要在处理完表单或其它类型的用户输入后,显示一个通知消息(也叫做“flash message”)给用户。

(2)核心问题讲解

Django后台可以使用django-push-notifications 推送模块来进行消息推送,也可以在Django中使用Message框架向模板中推送消息内容。(https://yiyibooks.cn/xx/django_182/ref/contrib/messages.html)

App中的推送有两种方式,第一种是自己研发的,但由于研发成本高,所以大多数都采用第二种方式,也就是使用第三方工具进行推送,比如极光推送、个推、百度云推送、华为推送等。

(3)问题扩展

App有本地推送和远程推送。

本地推送通知:本地通知不需要连接网络,一般是开发人员在合适的情况下在App内发送通知,适用于能确定在某个时间时需要提醒用户的场景。

远程推送通知:远程通知必须需要连接网络,远程推送服务又称为APNs(Apple Push Notification Services),一般是服务器端发送通知。

对于用户,通知一般是指的推送通知,即本地推送通知和远程推送通知。

(4)结合项目中使用

在视图和模板中使用消息,可通过如下方法:

add_message(request, level, message, extra_tags='', fail_silently=False)

新增一条消息可通过如下方式:

from django.contrib import messages
messages.add_message(request, messages.INFO, 'Hello world.')

有几个快捷方法提供标准的方式来新增消息并带有常见的标签(这些标签通常表示消息的HTML 类型),具体如下所示。

messages.debug(request, '%s SQL statements were executed.' % count)
messages.info(request, 'Three credits remain in your account.')
messages.success(request, 'Profile details updated.')
messages.warning(request, 'Your account expires in three days.')
messages.error(request, 'Document deleted.')






猜你喜欢:

子结构元素怎样设置不同于结构元素的样式?【not选择器】

Django的开发理:Django框架哲学

Python教程:Django框架视频教程下载【传智播客】

Django海量数据集分页优化方法

传智教育Python+大数据开发培训

0 分享到:
和我们在线交谈!