首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从imagekit.models导入ImageSpecField ModuleNotFoundError:没有名为'imagekit‘的模块

从imagekit.models导入ImageSpecField ModuleNotFoundError:没有名为'imagekit‘的模块
EN

Stack Overflow用户
提问于 2021-03-26 03:18:31
回答 1查看 81关注 0票数 0

我遇到了上述错误,尽管我运行了

pip安装django-imagekit

phoneshop/models.py:

代码语言:javascript
复制
import uuid
from django.db import models
from django.urls import reverse
from django.utils.text import slugify
from imagekit.models import ImageSpecField
from imagekit.processors import ResizeToFill

class Category(models.Model):
    id = models.UUIDField(
        primary_key=True,
        default=uuid.uuid4,
        editable=False)
    name = models.CharField(max_length=250, unique=True)
    description = models.TextField(blank=True)
    image = models.ImageField(upload_to='category', blank=True)
    slug = models.SlugField(null=True, unique=True)
    

    class Meta:
        ordering = ('name',)
        verbose_name = 'category'
        verbose_name_plural = 'categories'
    
    def save(self, *args, **kwargs):
        self.slug = slugify(self.name)
        super(Category, self).save(*args, **kwargs)

    def get_absolute_url(self):
        return reverse('phoneshop:products_by_category', args=[self.slug])

    def __str__(self):
        return self.name    

class Product(models.Model):
    id = models.UUIDField(
        primary_key=True,
        default=uuid.uuid4,
        editable=False)

    image_thumbnail = ImageSpecField(source='image',
                                processors=[ResizeToFill(90, 90)],
                                format='JPEG',
                                options={'quality': 60})
    name = models.CharField(max_length=250, unique=True)
    description = models.TextField(blank=True)
    category = models.ForeignKey(Category, on_delete=models.CASCADE)
    price = models.DecimalField(max_digits=10, decimal_places=2)
    image = models.ImageField(upload_to='product', blank=True)
    stock = models.IntegerField()
    available = models.BooleanField(default=True)
    created = models.DateTimeField(auto_now_add=True, blank=True, null=True)
    updated = models.DateTimeField(auto_now_add=True, blank=True, null=True)
    slug = models.SlugField(null=True, unique=True)#
    

    class Meta:
        ordering = ('name',)
        verbose_name = 'product'
        verbose_name_plural = 'products'
    
    def save(self, *args, **kwargs):
        self.slug = slugify(self.name)
        super(Product, self).save(*args, **kwargs)

    def get_absolute_url(self):
        return reverse('phoneshop:prod_detail', args=[str(self.category.slug), str(self.slug)])

    def __str__(self):
        return self.name

imagekit导入中的两个“from”都带有下划线,表示模块ImageKit中没有名称

我已经导入了正确的imagekit并尝试卸载,因为我知道有两个变体。所以我被困住了,需要一些帮助。

任何帮助都将不胜感激。

编辑:

pip freeze的输出:

代码语言:javascript
复制
asgiref==3.3.1
certifi==2020.12.5
chardet==4.0.0
cycler==0.10.0
Django==3.1.7
django-appconf==1.0.4
django-bootstrap-breadcrumbs==0.9.2
django-crispy-forms==1.11.2
django-imagekit==4.0.2
idna==2.10
Image-Kit==0.0.3
kiwisolver==1.3.1
matplotlib==3.3.4
numpy==1.20.1
pilkit==2.0
Pillow==8.1.2
pyparsing==2.4.7
python-dateutil==2.8.1
pytz==2021.1
requests==2.25.1
scipy==1.6.2
six==1.15.0
slug==2.0
sqlparse==0.4.1
stripe==2.56.0
urllib3==1.26.4
EN

回答 1

Stack Overflow用户

发布于 2021-11-28 08:35:51

我正在使用VSCode,在我的例子中,我强制重新打开我的编辑器/集成开发环境来解决(找到)它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66806223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档