我想将django媒体URL中的文件提供给已登录的用户。但是,在一般媒体中,如果您知道url,则可以未经许可访问。解决问题的最佳方法是什么?
下面的代码是'views.py',它允许用户将文件下载到公告板上。 请告诉我是否还有其他解决方案。我也想保持良好的性能,因为它是一个大文件。
views.py
@login_required
def index(request):
files = os.listdir(settings.MEDIA_ROOT)
# file full path
# print(os.path.getsize(os.path.join(settings.MEDIA_ROOT, files[0])))
filelist = [(i, os.path.getsize(os.path.join(settings.MEDIA_ROOT ,i)), '/media/'+i) for i in files]
print(filelist)
return render(request, 'download/index.html',{'filelist' : filelist})