python - Django python - 请求之间共享类属性值吗?
问题描述
假设我在 Python 中有以下类:
class MyClass():
cls_att = []
现在,在其中一个请求中,我正在执行以下操作:
MyClass.cls_att.append('a')
如果在此“附加”之后立即,另一个请求将获得该属性:
lst = MyClass.cls_att
他们会在“lst”中得到什么?它是空列表还是 ['a']?
解决方案
这取决于。
由同一进程服务的任何请求都将使用相同的类,因此将看到添加的数据。由不同进程提供服务的请求将看到先前请求在该进程上添加的任何数据。
因此,由于您无法预测哪个进程将服务于任何特定请求,因此您不能指望这会发生或不发生。换句话说,根本不要这样做。
推荐阅读
- timeout - Cypress:如何编写测试来处理慢速后端服务?
- flask - 如何使用 boto3 创建 api 网关并从 base flask-serverless api 向它发出代理请求?
- python - 用漂亮的汤刮掉一个网站。但它不能刮每个
- 标签
- scala - 从scala中的数据框中删除不需要的列
- javascript - 我如何获取具有多个对象的 json 文件
- reactjs - 如何使 React.useContext 在 SweetAlert 2 模态中工作?
- correlation - 显示卷积与相关性以测试交换/关联属性的简单 1D 示例
- php - Laravel 策略最佳实践
- css - CSS content-visibility 属性和奇怪的滚动条行为
- sql - 在 SQL Server 中创建视图以为每个日期创建多行,包括计算日期和标识符列