나는 웹상에서 일하고있다. User
은 파일을 업로드 할 수 있습니다. 이 파일의 형식은 docx
입니다. 파일을 업로드하고 파일을 번역 할 언어를 선택한 후 다른 페이지로 리디렉션하여 번역 가격을 볼 수 있습니다. 가격은 docx
파일의 특정 언어 및 문자 수에 따라 다릅니다.Django에서 업로드 한 후 파일에 액세스하는 방법은 무엇입니까?
업로드 된 파일을 처리하는 방법을 알 수 없습니다. 나는 파일 경로를 가져 와서 여러 문자를 반환하는 함수를 가지고있다. 파일을 업로드하고 제출을 클릭하면이 함수를 호출하여 예상 가격으로 새 페이지를 렌더링 할 수 있습니다.
나는 request.FILES['file']
에 temporary_file_path
를 호출 할 수 있습니다 읽었습니다하지만
'InMemoryUploadedFile'개체가 어떤 속성 'temporary_file_path'
내가 파일을 업로드 얼마나 많은 문자를 발견 할이 없습니다 요청을 받아 다른보기 (예 : /order-estimation
)에 포함하여 보냅니다.
보기 :
def create_order(request):
LanguageLevelFormSet = formset_factory(LanguageLevelForm, extra=5, max_num=5)
language_level_formset = LanguageLevelFormSet(request.POST or None)
job_creation_form = JobCreationForm(request.POST or None, request.FILES or None)
context = {'job_creation_form': job_creation_form,
'formset': language_level_formset}
if request.method == 'POST':
if job_creation_form.is_valid() and language_level_formset.is_valid():
cleaned_data_job_creation_form = job_creation_form.cleaned_data
cleaned_data_language_level_formset = language_level_formset.cleaned_data
for language_level_form in [d for d in cleaned_data_language_level_formset if d]:
language = language_level_form['language']
level = language_level_form['level']
Job.objects.create(
customer=request.user,
text_to_translate=cleaned_data_job_creation_form['text_to_translate'],
file=cleaned_data_job_creation_form['file'],
short_description=cleaned_data_job_creation_form['short_description'],
notes=cleaned_data_job_creation_form['notes'],
language_from=cleaned_data_job_creation_form['language_from'],
language_to=language,
level=level,
)
path = request.FILES['file'].temporary_file_path
utilities.docx_get_characters_number(path) # THIS NOT WORKS
return HttpResponseRedirect('/order-estimation')
else:
return render(request, 'auth/jobs/create-job.html', context=context)
return render(request, 'auth/jobs/create-job.html', context=context)
이 내용을 읽으셨습니까? https://docs.djangoproject.com/en/1.9/topics/http/file-uploads/? 여기에 더 많은 샘플 http://stackoverflow.com/questions/5871730/need-a-minimal-django-file-upload-example – trinchet