我有一个增量的全局变量,我想从另一个模块重置计数器。
每当post_save信号运行时,Counter变量会增加,我会看到数字 在终端。
但我会调用另一个模块的代码,我想将counter设置为0,所以当我再次调用post_save信号时,它从0开始。
正如我所做的那样,似乎有2个变量。
counter = 0
@receiver(post_save, sender=Numbers)
def num_post(sender, **kwargs):
global counter
counter += 1
print(counter)
dict = {}
for object in Numbers.objects.all():
dict[object.pk] = object.number
print(dict)
Group('group1').send({
'text': json.dumps(dict)
})
from .models import counter
def ws_disconnect(message):
global counter
counter = 0
print(counter)
Group('eae').discard(message.reply_channel)
Group('opa').discard(message.reply_channel)
答案 0 :(得分:1)
模块对象的属性对应于该模块内的全局变量。如果您曾经说过import module; module.function()
,这已经很熟悉了。好吧,你可以用同样的方式设置属性。
from . import models
models.counter = 0