首页 > 解决方案 > 身份验证 django

问题描述

为什么self.request.user.is_authenticated()在这个视图中不起作用?

class ArticleDetailView(DetailView, CategoryListMixin):
    model = Article
    template_name = 'mainapp/article_detail.html'

    def get_context_data(self, *args, **kwargs):
        context = super(ArticleDetailView, self).get_context_data(**kwargs)
        context['articles'] = self.model.objects.all()
        context['article'] = self.get_object()
        context['comments'] = Comments.objects.filter(article=context['article']).order_by('-pub_date')
        if self.request.user.is_authenticated():
            context['current_user'] = PersonalAccount.objects.get(user=self.request.user)
        return context

我收到一个错误:

'bool' 对象不可调用

标签: pythonhtmlcssdjango

解决方案


对于 Django 1.10 +

is_authenticated 现在是一个属性。

if self.request.user.is_authenticated:

推荐阅读