使用reportlab,我如何生成一系列qr代码并将它们放在一个pdf中,然后在用户浏览器上打开它.这是我的尝试.提前致谢.对于下面的代码,没有任何反应.我原本希望提示保存pdf文件.
from reportlab.pdfgen import canvas
from django.http import HttpResponse
from reportlab.graphics.shapes import Drawing
from reportlab.graphics.barcode.qr import QrCodeWidget
from reportlab.graphics import renderPDF
# Create the HttpResponse object with the appropriate PDF headers.
response = HttpResponse(mimetype='application/pdf')
response['Content-Disposition'] = 'attachment; filename="somefilename.pdf"'
p = canvas.Canvas(response)
qrw = QrCodeWidget('Helo World!')
b = qrw.getBounds()
w=b[2]-b[0]
h=b[3]-b[1]
d = Drawing(45,45,transform=[45./w,0,0,45./h,0,0])
d.add(qrw)
renderPDF.draw(d, p, 1, 1)
p.showPage()
p.save()
return response
Run Code Online (Sandbox Code Playgroud) 可能的重复:
在 Django 上设置 geoip 时出错
我从浏览器中收到“无法导入名称 GeoIP”错误,但在 python 终端上却没有。例如 /tmp/geo 中的地理数据。以下工作在 python 终端中进行。
from django.contrib.gis.geoip import GeoIP
GeoIP(path='/tmp/geo/')
Run Code Online (Sandbox Code Playgroud)
但是 django 视图中的以下内容给出了错误
from django.contrib.gis.geoip import GeoIP
return HttpResponse (GeoIP(path='/tmp/geo/'))
Run Code Online (Sandbox Code Playgroud)
任何指针都会有帮助。我正在使用 django 1.4 ,python 2.6 。这是痕迹。谢谢。
Traceback:
File "/usr/lib/python2.6/site-packages/django/core/handlers/base.py" in get_response
101. request.path_info)
File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py" in resolve
300. sub_match = pattern.resolve(new_path)
File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py" in resolve
209. return ResolverMatch(self.callback, args, kwargs, self.name)
File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py" in callback
216. self._callback = get_callable(self._callback_str)
File "/usr/lib/python2.6/site-packages/django/utils/functional.py" in wrapper
27. result = func(*args)
File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py" in get_callable …Run Code Online (Sandbox Code Playgroud)