python - 模块 'qrcode' 没有属性 'make'

标签 python django django-models qr-code

同时将 python 库 qrcode==6.1 与 django==3.1.2 集成。 我一直在尝试生成一个二维码,其中将包含我其他网站的 URL 链接。

模型.py

from django.db import models
import qrcode
from io import BytesIO
from django.core.files import File
from PIL import Image, ImageDraw

# Create your models here.

class Website(models.Model):
    name = models.CharField(max_length=200)
    qr_code = models.ImageField(upload_to='qr_codes', blank=True)

    def __str__(self):
        return str(self.name)
    
    def save(self, *args, **kwargs):
        qrcode_img = qrcode.make(self.name)
        canvas = Image.new('RGB', (290,290), 'white')
        draw = ImageDraw.Draw(canvas)
        canvas.paste(qrcode_img)
        fname = f'qr_code_{self.name}.png'
        buffer = BytesIO()
        canvas.save(buffer,'PNG')
        self.qr_code.save(fname, File(buffer), save=False)
        canvas.close()
        super().save(*args, **kwargs)

但它总是显示错误,指出模块“qrcode”不包含任何名为“make()”的属性。我想知道如何解决这个问题?

最佳答案

确保models.py所在目录下没有名为qrcode.py的文件。

更多信息请查看https://github.com/lincolnloop/python-qrcode/issues/185

关于python - 模块 'qrcode' 没有属性 'make',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64314649/

相关文章:

python - Django - 登录到远程登录页面

python - 如何在 Django 1.6 应用程序中实现 Markdown ?

python - 如何从带权重的数据开始创建直方图

python - 根据用户输入显示 Oracle 查询的结果

python - Python 中的高阶类

python - 已安装 django-axes,但 axes.middleware 模块不可用

python - Django - Migrate 命令表示执行第二次 makemigrations 后该表存在

django - 保存时检查以前的模型值

python - 如何在Django模型查询中添加比较模型本身两个字段的条件

python - AWS SAM 中的 event.json 是什么?