gpt4 book ai didi

python - 如何在 Django 中使用 Hardcopy 在选定的目录中创建 pdf 输出文件?

转载 作者:行者123 更新时间:2023-12-01 06:25:09 27 4
gpt4 key购买 nike

我想自动将结果保存在所选目录中的 pdf 文件中。我使用 django-hardcopy 模块。目前,我可以使用 url 显示 pdf。感谢您的想法。

这是 View :

from django.conf import settings
from hardcopy.views import PDFViewMixin, PNGViewMixin

class pdf_hardcopy(PDFViewMixin, TemplateView):
download_attachment = True
template_name = 'project/pdf_hardcopy.html'

def get_filename(self):
return "my_file.pdf"

def get_context_data(self, *args, **kwargs):
context = super(pdf_hardcopy, self).get_context_data(*args, **kwargs)
id = self.kwargs['pk']
dossier_media = str(settings.MEDIA_ROOT)
GetDataTeam = Datas.objects.filter(id=id)
context["GetDataTeam"] = GetDataTeam
return context

我的网址:

path('pdf_hardcopy/<int:pk>/', views.pdf_hardcopy.as_view(), name='pdf_hardcopy'),

最佳答案

快速浏览一下存储库,看起来没有任何内置方法可以执行此操作。我可能会覆盖 PDFViewMixinget_file_response 方法。您可以在 views.py 文件中查看当前的实现 [ github link ].

您可以在views.py 文件中执行类似的操作:

class PDFViewAndSaveMixin(PDFViewMixin):
"""Override PDFViewMixin to also save file."""

def get_file_response(self, content, output_file, extra_args):
with open(f'save/location/{self.get_filename}', ‘w’) as local_file:
local_file.write(output_file)
return super().get_file_response(content, output_file, extra_args)


class pdf_hardcopy(PDFViewAndSaveMixin, TemplateView):
# ...

这是一种相当粗略的保存文件的方法,您可能应该创建一个带有 FileField 的 Django 模型来管理这些文件,而不是简单地将它们直接写入磁盘。请参阅Django docs on managing files .

关于python - 如何在 Django 中使用 Hardcopy 在选定的目录中创建 pdf 输出文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60193197/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com