Django ';图片尾巴';对象没有属性';用户';

Django ';图片尾巴';对象没有属性';用户';,django,Django,当我未登录并单击下载链接时,会出现此错误 属性错误位于/pictures/5/ “PictureDetail”对象没有属性“user” 我希望图片只能由至少有一张上传图片的用户下载 我可以将LoginRequiredMixin作为PicturedDetail类的一个属性,这样可以解决问题,但我只需要隐藏下载链接,而不是整个图片 views.py class PictureDetail(DetailView): model = Picture @login_required

当我未登录并单击下载链接时,会出现此错误

属性错误位于/pictures/5/ “PictureDetail”对象没有属性“user”

我希望图片只能由至少有一张上传图片的用户下载

我可以将LoginRequiredMixin作为PicturedDetail类的一个属性,这样可以解决问题,但我只需要隐藏下载链接,而不是整个图片

views.py

class PictureDetail(DetailView):
    model = Picture

    @login_required
    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        if Picture.objects.filter(user=self.request.user).exists():
            context["download"] = True
        return context
models.py

class Picture(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
picture_detail.html

{% if download == True %}
<p class="card-text"><a href="{{ picture.picture.url }}">Download</a></p>
{% endif %}
{%if download==True%}

{%endif%}
这不起作用,请求用红色下划线(未定义名称“请求”)是的,它应该是self.request
class PictureDetail(DetailView):
    model = Picture

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        if self.request.user.is_authenticated:
            if Picture.objects.filter(user=self.request.user).exists():
                context["download"] = True
        return context