gpt4 book ai didi

Python 二维码不一致

转载 作者:行者123 更新时间:2023-12-04 19:22:00 25 4
gpt4 key购买 nike

我遇到了一个非常奇怪的问题 python-qrcode .

我已经让它在我们的开发环境中工作了一段时间,没有任何问题。我们使用它来创建两个二维码,它们都包含几乎完全相同长度的 URL(一个包含一个额外的字母和两个额外的斜杠)。这两个代码的大小必须完全相同,这一点至关重要。

自从我们大约五个月前设置 python-qrcode 以来,我们生成的每个 qrcode 的大小都完全相同,没有失败。但是,我们现在已经将所有内容推送到生产服务器,突然我们遇到了问题。

基本上,我们生成的代码之一比正常代码大(这是带有三个额外字符的代码)。另一个代码是正确的大小。这两个代码是使用完全相同的函数生成的,我们只是传递不同的 URL 进行编码。

在我的本地机器和我们的开发服务器上,所有 qrcode 的大小完全相同(包括带有额外字符的那个),但在生产服务器上,较长的一个更大,而另一个是正确的。

我们使用 Git 版本控制,因此服务器之间的所有文件/功能等都是相同的。设置之间的唯一区别是 Ubuntu 的版本(生产服务器上的 12.04 与 12.10),但我不明白为什么会导致这个问题。

如果两个代码都更大,我可以理解,但我无法弄清楚为什么只有一台服务器上的一个会比另一个大......?

如果有人可以就从哪里开始解决这个问题提出任何建议,我将不胜感激!

编辑:

以下是相关代码:

myQrGenerator = qrcode.QRCode(
version=QRCODE_SIZE,
error_correction=qrcode.constants.ERROR_CORRECT_M,
box_size=QRCODE_BOX_SIZE,
border=QRCODE_BORDER_SIZE
)

myQrGenerator.add_data('%s%s/' % (theBaseUrl, str(theHash)))
myQrGenerator.make(fit=True)

我们从 local_settings.py 中获取这些变量

最佳答案

经过长时间的讨论,确定两台服务器使用不同的 URL。喷出较大 QR 码(以 QR 像素表示,随后以图像像素表示)的代码溢出,它可以存储的预定义大小的位数限制是不够的,qrcode通过增加它可以存储的数据量使其适合。

为了解决这个问题,fit已设置 False为溢出提供约束,version从一开始就增加了以容纳更多位。 box_size可以减少一点以或多或少地保持原始图像大小。

关于Python 二维码不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13679150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com