如何解决Django 信号不 post_save 不触发
当使用通道和信号更改数据库模型中的值时,我尝试异步更新网页。
通道通过我的base.html中的以下JS建立到开发服务器的socket连接:
<script>
$(document).ready(function(){
{% block domready %}
var url = 'ws://'+window.location.host + '/ws/congruitive/Dashboard/';
var dataSocket = new WebSocket(url);
{% endblock %}
});
</script>
我的signals.py看起来像这样:
# congruitiveUI/signals.py
from django.db.models.signals import post_save
from django.dispatch import receiver
from .models import Device
@receiver(post_save,sender=Device)
def ensure_update_occurred(sender,**kwargs):
if kwargs.get('created',False):
Device.objects.get_or_create(update=kwargs.get('instance'))
我的模型如下所示:
# congruitiveUI/models.py
from django.db import models
from django.db.models import Model
# Create your models here.
class Device(models.Model):
device_name = models.URLField(max_length=200)
health = models.IntegerField()
device_status = models.CharField(max_length=16)
device_ip = models.CharField(max_length=32)
address = models.IntegerField()
protocol = models.CharField(max_length=32)
collector = models.CharField(max_length=32)
collector_status = models.CharField(max_length=16)
radio = models.CharField(max_length=32)
class Gateway(models.Model):
gateway_name = models.CharField(max_length=96)
gateway_ip = models.CharField(max_length=32)
def __str__(self):
return self.gateway_name
它继续表现得像一个同步网页,我认为它甚至没有连接到 Redis。任何见解将不胜感激。
提前致谢。
汤姆
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。