处理请求的两种方法——只是写得不同



我在github上查看了一些不同的代码,发现了一些令人困惑的东西。下面的代码之间有什么区别吗?

class RandomView(View):
def get(self, *args, **kwargs):
return render(self.request, 'random_template.html)

class RandomView(View):
def get(self, request, *args, **kwargs):
return render(request, 'random_template.html)

对我来说,这也会做同样的事情,但公平地说,我的知识非常有限。一个人被认为是不良行为吗?或者只是偏好?

它们指向同一个对象。self.request在工厂分配从View.as_View((返回的函数显式传递请求参数的原因是更容易在基于类的视图和函数视图之间转换。而且还更清楚地表明,get等方法使用请求对象

我建议您遵循django源代码中的约定和文档中的示例,并使用作为自变量而不是self.request.

在reddit 上找到了这个答案

最新更新