- Python 3.x - Django 2.x - django-socketio - Redis $ django-admin startproject dashboard_project $ pip install django-socketio python INSTALLED_APPS = [ ... 'socketio', 'eventstream', ] MIDDLEWARE = [ ... 'django_socketio.middleware.SocketIOMiddleware', ] SOCKETIO_HOST = 'localhost' SOCKETIO_PORT = 8000 python from django.shortcuts import render from socketio.namespace import BaseNamespace import json class DataMonitorNamespace(BaseNamespace): def watch_data(self, data): self.emit('data_update', json.dumps(data)) return True def index(request): return render(request, 'dashboard.html') python from django.urls import path from eventstream.views import DataMonitorNamespace, index urlpatterns = [ path('', index, name='index'), path('socket.io', DataMonitorNamespace, name='socketio'), ... ] html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js"></script> </head> <body> <div id="data_display"></div> <script> var socket = io.connect('http://' + document.domain + ':' + location.port); socket.on('data_update', function(data) { console.log(data); var dataDisplay = document.getElementById('data_display'); dataDisplay.innerHTML = data; }); </script> </body> </html> $ python manage.py runserver


上一篇:
下一篇:
切换中文