本文小編為大家詳細(xì)介紹“Python中如何使用dwebsocket實現(xiàn)后端數(shù)據(jù)實時刷新”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Python中如何使用dwebsocket實現(xiàn)后端數(shù)據(jù)實時刷新”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
創(chuàng)新互聯(lián)是一家專注于網(wǎng)站制作、成都網(wǎng)站制作與策劃設(shè)計,余江網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:余江等地區(qū)。余江做網(wǎng)站價格咨詢:18982081108
執(zhí)行定時任務(wù)的時候,我們需要了解執(zhí)行百分比或者實時數(shù)據(jù)返回,這時候可以采用的方法
1.ajax請求后端服務(wù)器,然后前端頁面局部渲染獲取百分比
2.使用webscoket進行長連接交流刷新
ajax使用方法使用interval函數(shù)來實現(xiàn)定時請求,本次這里不做說明
views.py文件添加如下內(nèi)容
from django.shortcuts import render,HttpResponse from dwebsocket.decorators import accept_websocket import time,random import uuid import json @accept_websocket def test_websocket(request): cnt=1 if request.is_websocket(): while True: messages = { 'time': time.strftime('%Y.%m.%d %H:%M:%S', time.localtime(time.time())), 'server_msg': 'hello%s'%time.time(), 'client_msg': 'msg%s'%time.time() } time.sleep(1) cnt+=1 if cnt<=10: request.websocket.send(json.dumps(messages)) else: break def test_websocket_client(request): return render(request,'websocket_client.html',locals())
settings.py文件增加dwebsocket
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'dwebsocket'
]
urls.py文件添加相關(guān)鏈接
urlpatterns = [ path('test_websocket', views.test_websocket, name='test_websocket'), path('test_websocket_client', views.test_websocket_client, name='test_websocket_client'), ]
直接上html代碼
dwebsocket實踐 接受到消息
然后我們運行程序
十秒之后斷開連接得到了我們想要的結(jié)果
業(yè)務(wù)需求的話,可以在我們的test_websocket 修改我們的邏輯然后根據(jù)返回的結(jié)果進行渲染
讀到這里,這篇“Python中如何使用dwebsocket實現(xiàn)后端數(shù)據(jù)實時刷新”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。