gpt4 book ai didi

Django View : get_context_data() vs get()

转载 作者:行者123 更新时间:2023-12-02 11:34:12 26 4
gpt4 key购买 nike

我们可以在 Django 中做到这一点:

class LoginView(generic.FormView):

def get_context_data(self, **kwargs):
common = CommonView(self, **kwargs)
context = super(LoginView, self).get_context_data(**kwargs)
context['common'] = common.infos

或者:

class LoginView(generic.FormView):

def get(self, request, *args, **kwargs):
common = CommonView(self, **kwargs)
return render(request, self.template_name, {'common': common.infos })

哪一个更好,为什么?

最佳答案

使用 get_context_data() 很有趣,因为它只有一个目标(做一件事并做好):将数据传递给模板。

另一方面,get() 有许多任务要做才能最终返回 HttpResponseget() 应该是方法调用的骨架,委派任务。其中,您有get_context_data(),还有其他根据您继承的类而定的。

只要可能,我认为最好让父类处理get()post()、...方法并使用它们提供的便捷方法。

就我而言,我必须自己处理 get() 方法的唯一情况是编写通用 View 时。

关于Django View : get_context_data() vs get(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35824904/

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