gpt4 book ai didi

python - 如何在请求结束时调用 generic.view 中的自定义方法

转载 作者:行者123 更新时间:2023-11-28 18:35:18 24 4
gpt4 key购买 nike

我在 Django 中有一个通用 View ,我在其中添加了自定义 Mixin。我需要在 View 请求周期结束或接近结束时调用新的混合方法 has_action

from django.views.generic import View

class AboutView(MyCustomMix, View):
#edited for brevity

自定义混合

def has_action(self, request, view):
# do some stuff

我在这里有什么选择来确保 has_action 被调用?我能想到的唯一方法是将 has_action 方法重命名为 def as_view 之类的方法,并使用 super,因为我知道这会被调用。

但是有没有办法让 has_action 在我的 View 中请求周期结束时的某个地方被调用(我仍然需要访问请求、 View )。我已经看到这可以通过覆盖 View 上的 init 来完成,但这会在请求周期开始时运行。

最佳答案

我想你可以覆盖 dispatch方法:

def dispatch(self, request, *args, **kwargs):
response = super(AboutView, self).dispatch(request, *args, **kwargs)
self.has_action(request, self)
return response

不确定has_actionview 参数是什么。

关于python - 如何在请求结束时调用 generic.view 中的自定义方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33084174/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com