1
我有一个Django应用程序,用户可以下载分配给他们的文件。我如何确定只有分配了该文件的用户才能下载该文件。因为它在媒体目录中,任何人都可以在那里浏览,那么有没有办法让相关用户下载文件?Django,显示某些媒体目录登录用户
我有一个Django应用程序,用户可以下载分配给他们的文件。我如何确定只有分配了该文件的用户才能下载该文件。因为它在媒体目录中,任何人都可以在那里浏览,那么有没有办法让相关用户下载文件?Django,显示某些媒体目录登录用户
一年前我做了同样的事情。 我只希望相关用户可以下载自己的照片:
# urls.py
(r'^data/photos/(?P<path>.*)$','views.data_access'),
我认为“data_access”给人的照片,或者403页
# view data_access(request, path)
# [...code...]
if user_can_download:
response = HttpResponse(mimetype="image/jpeg")
response['Content-Disposition'] = 'attachment; filename=%s' % unicode(photo.image.name)
response['X-Accel-Redirect'] = '/protected/'+ unicode(path)
return response
else:
return HttpResponseForbidden()
OK等待,但我仍然可以只是眉头到/ media/etc/etc/photos /以及看照片,任何用户都可以看到它们。我得到这个错误? – Harry
['return HttpResponseForbidden'](https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpResponseForbidden)比明确设置'403'更清晰。 –
@哈里:不,我的项目中的数据是经典/媒体。 – nicolas