我有一个图像模型,它有一个来自django user的用户字段foreignkey
class Image(models.Model):
image = models.ImageField()
user = models.ForeignKey(User)
#more specific model fields
我希望媒体文件只提供给用户登录和上传的媒体。所以我在apache中使用了X-SendFile头,使用了以下视图
^{pr2}$owns_media是一个decorator,它检查登录的用户是否是上载图片并允许视图运行或引发PermissionDenied异常的用户。这是装修工
def owns_media(view):
"""Decorator to check if users has permission to access media"""
def wrapper(request, *args, **kw):
path = kw['path']
user = request.user
image = Image.objects.get(image=path)
image_user = image.user
if user==image_user:
return view(request, *args, **kw)
else:
raise PermissionDenied
return wrapper
但这行不通。我登录到一个用户得到了图片,然后注销并试图访问它,它确实提供了图片,而它不应该。我做错什么了吗?在
目前没有回答
相关问题 更多 >
编程相关推荐