Rendering PDF files

We are going to create a view to generate PDF invoices for existing orders using the administration site. Edit the views.py file inside the orders application directory and add the following code to it:

from django.conf import settingsfrom django.http import HttpResponsefrom django.template.loader import render_to_stringimport weasyprint@staff_member_requireddef admin_order_pdf(request, order_id):    order = get_object_or_404(Order, id=order_id)    html = render_to_string('orders/order/pdf.html',                            {'order': order})    response = HttpResponse(content_type='application/pdf')    response['Content-Disposition'] = 'filename=\        "order_{}.pdf"'.format(order.id)    weasyprint.HTML(string=html).write_pdf(response,        stylesheets=[weasyprint.CSS(

Get Django 2 by Example now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.