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