IDE建议使用@staticmethod

时间:2016-08-20 14:27:02

标签: python django static-methods django-class-based-views

这条建议似乎有道理,因为self并未在方法中使用,但现在我很好奇:

  • 是否是对CBV的监督,用户应手动装饰每个@staticmethod

  • Django中是否已经有一些代码可以自动使所有CBV方法保持静态?

以下是我正在谈论的内容的截图。它使用的是DRF的CBV,但当我使用香草Django CBV时它也是同样的建议。

enter image description here

1 个答案:

答案 0 :(得分:1)

不,你不应该这样做。这些是实例方法,需要保持这样。

虽然您没有使用任何实例值或在那里调用任何实例方法,但确实有点奇怪。通常,您将通过self.kwargs引用URL参数,并调用其他方法,例如self.get_context_data。如果您没有这样做,我想知道您是否真的从使用CBV中获益。

(事实上,我通常建议您根本不要覆盖getpost;这些通常会委托更具体的方法来覆盖。)