Как преобразовать текст из TextArea в файл?

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

    if job_creation_form.is_valid():
            cleaned_data_job_creation_form = job_creation_form.cleaned_data
            try:
                with transaction.atomic():
                        text = cleaned_data_job_creation_form.get('text_to_translate')
                        if text:
                           cleaned_data_job_creation_form['file']=create_txt_file(text)

                        Job.objects.create(
                                customer=request.user,
                                text_to_translate=cleaned_data_job_creation_form['text_to_translate'],
                                file=cleaned_data_job_creation_form['file']....
                                )
            except Exception as e:
                RaiseHttp404(request, 'Something went wrong :(')
            return HttpResponseRedirect(reverse('review_orders'))

Я думал о создании txt файл как:

with open('name.txt','a') as f:
    ...

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

Ты знаешь лучший способ?

Короче:

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

1 ответ

Решение

Использовать временный файл может быть?

import tempfile
tmp = tempfile.TemporaryFile()
tmp.write("Hello World!\n")
Job.objects.create(file=File(tmp),...)

Надеюсь это поможет

Другие вопросы по тегам