首頁技術(shù)文章正文

Django如何給客戶端推送消息?App推送如何實(shí)現(xiàn)?

更新時間:2021-05-28 來源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif

(1)問題分析

面試官主要想考察的是在網(wǎng)頁應(yīng)用中,需要在處理完表單或其它類型的用戶輸入后,顯示一個通知消息(也叫做“flash message”)給用戶。

(2)核心問題講解

Django后臺可以使用django-push-notifications 推送模塊來進(jìn)行消息推送,也可以在Django中使用Message框架向模板中推送消息內(nèi)容。(https://yiyibooks.cn/xx/django_182/ref/contrib/messages.html)

App中的推送有兩種方式,第一種是自己研發(fā)的,但由于研發(fā)成本高,所以大多數(shù)都采用第二種方式,也就是使用第三方工具進(jìn)行推送,比如極光推送、個推、百度云推送、華為推送等。

(3)問題擴(kuò)展

App有本地推送和遠(yuǎn)程推送。

本地推送通知:本地通知不需要連接網(wǎng)絡(luò),一般是開發(fā)人員在合適的情況下在App內(nèi)發(fā)送通知,適用于能確定在某個時間時需要提醒用戶的場景。

遠(yuǎn)程推送通知:遠(yuǎn)程通知必須需要連接網(wǎng)絡(luò),遠(yuǎn)程推送服務(wù)又稱為APNs(Apple Push Notification Services),一般是服務(wù)器端發(fā)送通知。

對于用戶,通知一般是指的推送通知,即本地推送通知和遠(yuǎn)程推送通知。

(4)結(jié)合項(xiàng)目中使用

在視圖和模板中使用消息,可通過如下方法:

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

新增一條消息可通過如下方式:

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

有幾個快捷方法提供標(biāo)準(zhǔn)的方式來新增消息并帶有常見的標(biāo)簽(這些標(biāo)簽通常表示消息的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.')






猜你喜歡:

Python JsonPath解析json的方法

什么是單繼承?Python中單繼承的語法格式是怎樣的?

Python的標(biāo)準(zhǔn)模塊:sys、os、random和time

黑馬程序員Python+大數(shù)據(jù)開發(fā)培訓(xùn)

分享到:
在線咨詢 我要報名
和我們在線交談!