Skip to main content
 首页 » 编程设计

python之如何将 sorl-thumbnail 集成到现有的 django 项目中

2024年08月30日31xxx_UU

我正在尝试将 sorl-thumbnail 集成到现有项目中以在 django 管理中显示 ImageField 照片的缩略图,但没有结果。

我使用安装了 sorl

pip install sorl-thumbnail 

然后添加

'sorl.thumbnails' 

到settings.py

然后运行manage.py syncdb,然后设置admin.py

from django.contrib import admin 
from myapp.models import MyModel 
from sorl.thumbnail.admin import AdminImageMixin 
 
class MyModelAdmin(AdminImageMixin, admin.ModelAdmin): 
    pass 

尽管在查看 MyModel 的列表或查看每个单独的 MyModel

时,我仍然没有在我的 django 管理上看到缩略图

我做错了什么?

nb:我使用 South 进行迁移,使用 S3 为我的应用程序存储静态图像

请您参考如下方法:

AdminImageMixin 仅当 ImageField 是 sorl-thumbnail's ImageField 的实例时才更改它的小部件。所以你的模型需要使用以下内容:

from sorl.thumbnail import ImageField 
 
class MyModel(models.Model): 
    some_image = ImageField(...) 

代替 django.db.models.ImageField。

如果你这样做了,缩略图的 img 标签应该被添加到管理源中的字段旁边,如果它实际上在源中,这可能是一个问题将文件存储在 S3 上,并且 sorl-thumbnail 使用的 URL 不匹配。