A Django class-based view generating PDF responses using WeasyPrint.
Install and update using pip:
pip install -U django-weasyprint
Use WeasyTemplateView
as class based view base class or the just the
mixin WeasyTemplateResponseMixin
on a TemplateView
(or subclass
thereof).
from django.conf import settings
from django.views.generic import DetailView
from django_weasyprint import WeasyTemplateResponseMixin
class MyModelView(DetailView):
model = MyModel
template_name = 'mymodel.html'
class MyModelViewPrintView(WeasyTemplateResponseMixin, MyModelView):
pdf_stylesheets = [
settings.STATIC_ROOT + 'css/app.css',
]