. . . def informe_peliculas(request): response = HttpResponse(content_type='application/pdf') response['Content-Disposition'] = 'attachment; filename="peliculas.pdf"' buffer = BytesIO() can = canvas.Canvas(buffer) can.drawString(200, 800, "Peliculas") peliculas = Pelicula.objects.all() y = 700 for pelicula in peliculas: can.drawString(50, y, pelicula.titulo) y -= 20 can.showPage() can.save() pdf = buffer.getvalue() buffer.close() response.write(pdf) return response . . .