Как добавить имя загруженного файла в модель в django

Я изучаю django. Я застрял на этой проблеме.

Я создал форму, в которой пользователь загружает текстовый файл и выбирает пол. Пользователь также должен написать имя текстового файла в текстовом поле.

вывод образца

В бэкенде я хочу сохранить имя текстового файла вместе с полом в модели. Это необходимо сделать потому, что когда несколько пользователей будут использовать приложение, я должен знать, какой пользователь выбрал тот или иной пол, чтобы я мог получить желаемый результат.

Как я уже упоминал, пользователю нужно ввести имя файла, я подумал, возможно ли получить имя файла из загруженного файла и затем сохранить его в модели, чтобы пользователю не нужно было вводить имя файла и, следовательно, не было текстового поля.

Вот ссылка на мой git-репозиторий - https://github.com/AnshulGupta22/auto_generation.git

Может кто-нибудь подскажет мне, как это сделать? Как я уже сказал, я новичок в django и помощь будет оценена по достоинству.

Вы можете получить имя файла из request.POST и создать объект для имени_файла

##in views.py  
def get_gender(request):
    if request.method == 'POST':
        form = GenderForm(request.POST)
        uploaded_file = request.FILES['document']
        file_name = request.FILES["name"] #NEW
        Gender.objects.create(file_name=file_name) #NEW
        fs = FileSystemStorage()
        name = fs.save(uploaded_file.name, uploaded_file)
        fbh = name[:-4]
        if form.is_valid():
            form.save()
            run(["gnome-terminal", "--", "sh", "-c", f"espeak -ven+m1 -f {uploaded_file.name} -w {fbh}.wav "])
            return  HttpResponse("Blog created")


##in models.py
class Gender(models.Model):
    file_name = models.CharField(max_length=120) #NEW
Вернуться на верх