Как преобразовать текст из 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),...)
Надеюсь это поможет