Я хотел бы предоставить файлы в медиа-адресе django зарегистрированным пользователям.Тем не менее, в общих средствах массовой информации, если вы знаете 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})