【问题标题】:The view canvas.views.pdfDirectory didn't return an HttpResponse object视图 canvas.views.pdfDirectory 没有返回 HttpResponse 对象
【发布时间】:2013-01-31 08:43:17
【问题描述】:

异常类型:ValueError 异常值:

视图 canvas.views.pdfDirectory 没有返回 HttpResponse 对象。

异常位置:/usr/local/lib/python2.6/dist-packages/Django-1.4.3-py2.6.egg/django/core/handlers/base.py in get_response,第 129 行

import os
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
from reportlab.lib.units import cm, mm, inch, pica

def pdfDirectory(imageDirectory, outputPDFName = 'ima.pdf'):
    dirim = str(imageDirectory)
    output = str(outputPDFName)
    width, height = letter
    height, width = letter
    c = canvas.Canvas(output, pagesize=letter)
    # try:
    for root, dirs, files in os.walk(dirim):
        for name in files:
            lname = name.lower()
            if lname.endswith(".JPG") or lname.endswith(".gif") or      lname.endswith(".png"):
                filepath = os.path.join('/home/deepak/Downloads', 'image')
                c.drawImage('/home/deepak/Downloads/imag.pdf', inch, inch * 1)
                c.showPage()
                c.save()
                return output
    #   print "PDF of Image directory created"
    # except:
    #  print "Failed creating PDF"

【问题讨论】:

    标签: python


    【解决方案1】:

    如果代码从未在 for 循环中进入 if 语句,则函数将返回 None,它不是 HttpResponse 对象。在您的 if 语句中,您将返回一个字符串,该字符串也不是 HttpResponse 对象。只需将其包装在 HttpResponse 对象中即可:

    for root, dirs, files in os.walk(dirim):
        for name in files:
            lname = name.lower()
            if lname.endswith(".JPG") or lname.endswith(".gif") or lname.endswith(".png"):
                filepath = os.path.join('/home/deepak/Downloads', 'image')
                c.drawImage('/home/deepak/Downloads/imag.pdf', inch, inch * 1)
                c.showPage()
                c.save()                    
                return HttpResponse(output)
    return HttpResponse("Failed creating PDF")
    

    【讨论】:

    • 谢谢,但现在为什么它不创建 .pdf 请帮帮我。
    • 现在此代码正在运行,但无法创建 pdf 文件,请指导我如何创建 pdf
    • 如果您在创建 PDF 时遇到问题,这应该是一个单独的问题。
    • 先生,我发布了这个问题,代码也是一样的,所以只问你的帮助。
    猜你喜欢
    • 1970-01-01
    • 2022-11-25
    • 2011-03-06
    • 2017-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多