更新时间:2021-05-28 来源:黑马程序员 浏览量:
(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.')
猜你喜欢: