Django访问mid中基于类的视图的类属性

2024-10-01 22:28:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有几个视图,每个视图每次只能由一个用户访问。因此,我为此使用锁定服务。我的想法是:

-像这样声明每个视图

class DummyView(View):
    lock = Lock()
    def dispatch(self, request, *args, **kwargs):
        ...

-在中间件中,执行以下操作

^{pr2}$

如何按说明访问视图的lock属性?在


Tags: 中间件用户selfview视图lock声明request
1条回答
网友
1楼 · 发布于 2024-10-01 22:28:01

不确定您是否可以访问中间件内部的视图,所以我只是建议一些更简单、更易于实现/理解的方法。在

只需创建一个模型Lock,其中包含字段view_name(char field),user(外键)&;is_acquired(bool)。然后,当你想锁定一个给定的请求.用户(检查匿名用户),只需用user&;view_name实例化Lock模型,然后执行一个.acquire(),它基本上将is_acquired改为{}(并保存)。在

当您想检查是否已获得锁时,只需检查给定的条目.exists()。在

如果需要,可以运行一个使旧锁过期的定期任务。在

相关问题 更多 >

    热门问题