Django-weasyprint provides a django class-based view that returns a pdf generated from your html by weasyprint