Я хочу, чтобы у каждого пользователя была своя папка с файлами. Независимо от того, под какой учетной записью я вошел, файлы всегда загружаются в папку первого зарегистрированного пользователя. Например, когда я вошел в систему как пользовательские файлы "tester" должны go to /media/files/tester.
models.py
from django.contrib.auth.models import User
def user_directory_path(instance, filename):
return '{0}/{1}'.format(instance.user.username, filename)
class FileModel(models.Model):
title = models.CharField(max_length=50, blank=True)
file = models.FileField(upload_to=user_directory_path)
uploaded_at = models.DateTimeField(auto_now_add=True)
user = models.ForeignKey(User, on_delete=models.CASCADE, default=1)
def __str__(self):
return self.title
views.py
@login_required()
def main_page(request):
files = FileModel.objects.filter(user=request.user)
return render(request, 'dropbox/main_page.html', {'files': files} )
@login_required()
def upload_file(request):
if request.method == 'POST':
form = FileForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('main_page')
else:
form = FileForm()
return render(request, 'dropbox/upload_file.html', {'form': form})
Что делать, чтобы файлы загружались в соответствующие папки в зависимости от того, кто вошел в систему?