[英]Django python - are class attributes values shared between requests?
假設我在 Python 中有以下類:
class MyClass():
cls_att = []
現在,在其中一項請求中,我正在執行以下操作:
MyClass.cls_att.append('a')
如果緊跟在此“附加”之后,另一個請求將獲得該屬性:
lst = MyClass.cls_att
他們會在“lst”中得到什么? 它是空列表還是 ['a']?
這取決於。
由同一進程服務的任何請求都將使用相同的類,因此將看到添加的數據。 由不同進程提供服務的請求將看到該進程上先前請求添加的任何數據。
因此,由於您無法預測哪個進程將為任何特定請求提供服務,因此您不能指望這會發生或不發生。 換句話說,根本不要這樣做。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.