Я создаю и сохраняю PDF как таковой в моих представлениях:
views.py
@login_required(login_url="/login")
def PackingListView(request):
if request.method == "POST":
form = PackingListForm(request.POST)
if form.is_valid():
if 'preview' in request.POST:
...
elif 'save' in request.POST:
pdf_contents = form
file = ContentFile(pdf_contents)
item = PackingListDocuments.objects.get(pk=1)
item.PackingListDocument.save('test.pdf', file) #saving as FileField in model
form.save()
messages.success(request, "Success: Packing List Has Been Created!")
return redirect('HomeView')
Я вижу, что test.pdf сохранен. Я могу видеть это в моем файловом проводнике так же как в администраторе, но каждый раз, когда я пытаюсь открыть его, файл кажется поврежденным. Что мне нужно добавить или вычесть в моем коде, чтобы это работало?
Спасибо!
ОБНОВЛЕНИЕ:
Я изменил строку: file = ContentFile(pdf_contents)
на file = File(pdf_contents)
Но теперь я получаю сообщение об ошибке атрибута, что у объекта 'PackingListForm' нет атрибута 'read'