I could not get images to appear despite trying every solution I could find on google.  But this fudge worked for me as the command line version of pisa displays images ok:
    from tempfile import mkstemp
    # write html to a temporary file
    # can used NamedTemporaryFile if using python 2.6+
    fid, fname = mkstemp(dir='/tmp')
    f = open(fname, 'w+b')
    f.write(html)
    f.close()
    # now create pdf from the html 
    cmd = 'xhtml2pdf "%s"' % fname
    os.system(cmd)
    os.unlink(fname)
    # get the content of the pdf
    filename = fname+'.pdf'
    pdf = open(filename, 'r')
    content = pdf.read()
    pdf.close()
    os.unlink(pdf.name)
    # return content
    response = HttpResponse(content, mimetype='application/pdf')
    response['Content-Disposition'] = 'attachment; filename=draft.pdf'
This worked where the images had either a url or the full path name, eg.
<img src="/home/django/project/site_media/css/output/images/logo.jpg" />
<img src="http://www.mysite.com/css/output/images/logo.jpg" />