グローバル変数が増加していて、別のモジュールからカウンタをリセットする必要があります。グローバル変数にアクセスしてその値を別のモジュールから変更する方法
post_save信号が実行されるたびに、カウンタ変数が増加し、端末に番号 が表示されます。
しかし、私は別のモジュールからコードを呼び出すと、私はカウンターを0に設定したい、だから私は再びpost_save信号を呼び出すとき、私は2つの変数があるようでなかったとして、それが0
から始まります。
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)
私は、あなたが本当にこれをしてはいけないと言ってくれる人になるでしょう。ファイル全体でグローバルを変更すると、これを行うためのより良い方法が100%保証されます。 – idjaw
@idjawもっと良い方法があれば教えてください。 – Goun2
モジュール間で状態の状態を変更し、状態を追跡する必要がある場合は、そのクラスのインスタンス内のすべてのデータを含むクラスを作成し、管理、保守、トラブルシューティングが容易になるよう考慮する必要があります。 – idjaw