Django: Не загружаются случайные буквы в одноименном файле [дубликат]
Это мой код, позволяющий пользователю загружать файлы, когда загружается более одного файла с одинаковым условием, по умолчанию к имени файла добавляются случайные буквы, чтобы избежать дублирования, возможно ли вместо этого иметь количество загруженных файлов? Так вместо того, чтобы иметь
?randomfilename
randomfilename_jlCtWGb
randomfilename_aOMtTeb
иметь это
randomfilename_1
randomfilename_2
randomfilename_3
Код:
models.py
def user_directory_path(instance, filename):
filename = "word_file_%s.%s" % (instance.option, extension)
return 'word_folder/{0}/{1}'.format(instance.option, filename)
class Document(models.Model):
option_choice = [
('1', 'Option One'),
('2', 'Option Two')
]
user = models.ForeignKey(UserInformation, on_delete=models.CASCADE)
option = models.CharField(max_length=250, choices=option_choice, blank=True, null=True)
original_filename = models.CharField(max_length=250, blank=True, null=True)
docfile = models.FileField(upload_to=user_directory_path)
def __str__(self):
return word_db_' + self.option
views.py
@login_required
def upload_file(request):
if request.method == 'POST':
form = DocumentForm(request.POST, request.FILES)
uploaded_file= request.FILES
if form.is_valid():
form.instance.user = request.user.userinformation
form.instance.original_filename = uploaded_file['docfile'].name
form.save()
return redirect('upload_file')
else:
message = 'The form is not valid. Fix the following error:'
else:
form = DocumentForm()
context = {
'form': form,
'message': message
}
return render(request, 'list.html', context)