2024-10-01 22:28:01 发布
网友
我有几个视图,每个视图每次只能由一个用户访问。因此,我为此使用锁定服务。我的想法是:
class DummyView(View): lock = Lock() def dispatch(self, request, *args, **kwargs): ...
如何按说明访问视图的lock属性?在
不确定您是否可以访问中间件内部的视图,所以我只是建议一些更简单、更易于实现/理解的方法。在
只需创建一个模型Lock,其中包含字段view_name(char field),user(外键)&;is_acquired(bool)。然后,当你想锁定一个给定的请求.用户(检查匿名用户),只需用user&;view_name实例化Lock模型,然后执行一个.acquire(),它基本上将is_acquired改为{}(并保存)。在
Lock
view_name
user
is_acquired
.acquire()
当您想检查是否已获得锁时,只需检查给定的条目.exists()。在
.exists()
如果需要,可以运行一个使旧锁过期的定期任务。在
不确定您是否可以访问中间件内部的视图,所以我只是建议一些更简单、更易于实现/理解的方法。在
只需创建一个模型}(并保存)。在
Lock
,其中包含字段view_name
(char field),user
(外键)&;is_acquired
(bool)。然后,当你想锁定一个给定的请求.用户(检查匿名用户),只需用user
&;view_name
实例化Lock
模型,然后执行一个.acquire()
,它基本上将is_acquired
改为{当您想检查是否已获得锁时,只需检查给定的条目
.exists()
。在如果需要,可以运行一个使旧锁过期的定期任务。在
相关问题 更多 >
编程相关推荐