Я пытаюсь создать файл PDF из рендеринга html. Я использую следующий класс для создания HTML
Views.py
class ReportList(ListView):
model = Reports
template_name = 'myreports.html'
context_object_name = 'reports'
def get_context_data(self, *args,**kwargs):
context = super(ReportListView, self).get_context_data(*args,**kwargs)
context['reports'] = Reports.objects.all().values('id','idsys','time','item','customer').filter(id =self.kwargs['id'],.... )
return context
urls.py
url(r'^reports/(?P<id>\d+).../$', views.ReportList.as_view(), name = 'myreports'),
Я не знаю, как сгенерировать PDF-файл (по ссылке на кнопку). Я безуспешно тестировал reportlab и wkhtmltopdf !!
У вас есть предложения, пожалуйста?
Я также нашел django-easy-pdf, я думаю, что следующий класс может решить мой вопрос:
views.py
class HelloPDFView(PDFTemplateView):
model = Reports
template_name = 'reports.html'
def get_context_data(self, **kwargs):
return super(HelloPDFView, self).get_context_data(
pagesize='A4',
title='Pdf - Title!',
**kwargs
)
но, к сожалению, я не могу использовать его с моим классом Reportlist выше, мне нужно сначала создать report.html, а затем myreport.pdf
urls.py
url(r'^myreports.pdf$', views.HelloPDFView.as_view())
Кроме того, report.html содержит статические файлы и транс-функции.