教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

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

更新時間:2021年05月28日16時50分 來源:傳智教育 瀏覽次數(shù):

傳智教育-一樣的教育,不一樣的品質(zhì)

(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.')






猜你喜歡:

子結(jié)構(gòu)元素怎樣設(shè)置不同于結(jié)構(gòu)元素的樣式?【not選擇器】

Django的開發(fā)理:Django框架哲學(xué)

Python教程:Django框架視頻教程下載【傳智播客】

Django海量數(shù)據(jù)集分頁優(yōu)化方法

傳智教育Python+大數(shù)據(jù)開發(fā)培訓(xùn)

0 分享到:
和我們在線交談!