在基于类的View中获取请求对象

ser*_*iuz 8 django

我想在基于类的视图中获取当前登录用户.我可以通过从请求对象中提取用户来做到这一点,但我怎样才能获得该对象?

class HomeView(TemplateView):
    template_name='home.html'

    def get_context_data(self, **kwargs):
        context = super(HomeView, self).get_context_data(**kwargs)  
        context['username'] =  request.user.username
        return context
Run Code Online (Sandbox Code Playgroud)

小智 18

您可以从中访问它 self.request.user

例如,您可以在CBV中执行此操作

if self.request.user.is_authenticated():
   ...
Run Code Online (Sandbox Code Playgroud)

要么

context['username'] = self.request.user.username
   ...
Run Code Online (Sandbox Code Playgroud)

等等