如何访问全局变量并从另一个模块更改其值

时间:2017-07-01 21:00:10

标签: python django

我有一个增量的全局变量,我想从另一个模块重置计数器。

每当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)

1 个答案:

答案 0 :(得分:1)

模块对象的属性对应于该模块内的全局变量。如果您曾经说过import module; module.function(),这已经很熟悉了。好吧,你可以用同样的方式设置属性。

from . import models
models.counter = 0