我正在Django寫一個小應用程序,我保持狀態保存在一些變量我聲明的方法在views.py。下面是該文件的重要組成部分:Django:「引用之前引用」,但只爲一些變量
from app.playerlist import fullList
auc_unsold = fullList[:]
auc_teams = []
auc_in_progress = []
auc_current_turn = -1
print(auc_in_progress)
def auc_action(request):
data = json.loads(request.GET["data"])
# ...
elif data[0] == "start":
random.shuffle(auc_teams)
print(auc_unsold)
print(auc_in_progress)
auc_in_progress = [None, 0, None]
print(auc_in_progress)
的auc_unsold
和auc_teams
變量做工精細;雖然這個方法看不到auc_in_progress
變量,但在標題中出現錯誤。如果我取出打印語句並讓該代碼爲其賦值,則只要我再次使用該變量,該異常就會在代碼中的其他位置拋出。
我試着做另一個變量,這個新的似乎也遭受了這個問題。
發生了什麼事?
編輯:我發現了一個解決辦法:如果我只是打印語句之前寫global auc_in_progress
,然後一切工作正常。如果我嘗試着寫上面這個變量,那麼它不起作用,不過,出於某種原因。
我對此不滿意,因爲我不知道爲什麼會發生這種情況,並且因爲我不喜歡使用這樣的全局,但是呃。有人有解釋嗎?
嗯,但重點是讓更多的人蔘與同一個拍賣... 我同意它看起來很醜,我不知道「正確」的方式,它可能涉及數據庫和更結構化?但是,這僅僅是一個簡單的應用程序,我爲我和幾個朋友做的,對我來說是如此快速和骯髒的作品,特別是因爲我在最後期限。 – user1846231