我有一个基于类的视图,我想提供一些上下文,但我不知道如何才能实现这一点下面是views.py
class Dashboard(LoginRequiredMixin, View):
def get(self, request):
if request.user is not None and len(request.user.payment_set.all()):
if request.user.is_active and request.user.payment_set.first().active:
print(eligible_to_review(self.request))
return render(request, 'main.html')
else:
return redirect('home')
else:
return redirect('membership')
如何将上下文传递给此视图以便在html文件中使用它
1条答案
按热度按时间b1uwtaje1#
我认为最简洁的方法是用TemplateView替换从View继承的内容--您可以提供一个get_context_data方法来完成您需要的任何额外的上下文内容。
理想情况下,您不需要提供get()但是因为你在重定向中有一些额外的逻辑,所以你可能需要它。()在get_context_data中,因为不清楚为什么要打印它(到什么终端?)。同样,如果使用LoginRequiredMixin,您可以确信,当您到达get()request.user既已设置又处于活动状态-因此测试的这些部分是reducndant。