我正在我的视图中创建并保存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”
我相信错误一定与这条线路有关
file = ContentFile(pdf_contents)
注意,从docs
因此,我猜想您没有将字符串/字节类型作为参数传递给ContenetFile对象
试着找到它的类型。您还可以通过执行
String(pdf_contents)
将其转换为字符串类型相关问题 更多 >
编程相关推荐