django-image-cropping 在管理界面中不起作用

Roh*_*han 5 python django image

我在我的 django 项目中使用了django-image-cropping,我遵循了官方指南,但仍然没有得到想要的结果。这是我的项目文件的片段。

我已经将easy_thumbnails和添加image_cropping到我的INSTALLED_APPS.

设置.py

from easy_thumbnails.conf import Settings as thumbnail_settings
THUMBNAIL_PROCESSORS = (
    'image_cropping.thumbnail_processors.crop_corners',
) + thumbnail_settings.THUMBNAIL_PROCESSORS
Run Code Online (Sandbox Code Playgroud)

模型.py

from django.db import models
from image_cropping import ImageRatioField    
class UserData(models.Model):
        fullname = models.CharField(max_length=255)
        user = models.CharField(max_length=70, unique=True, blank=False, null=False)
        image = models.ImageField(upload_to=generate_filename,blank=False, null=False)
        cropping = ImageRatioField('image', '180x180')
Run Code Online (Sandbox Code Playgroud)

管理文件

from django.contrib import admin
from image_cropping import ImageCroppingMixin
class UserDataModelAdmin(ImageCroppingMixin, admin.ModelAdmin):
    # filter_horizontal=['image']
    pass

admin.site.register(UserData, UserDataModelAdmin)
Run Code Online (Sandbox Code Playgroud)

根据官方指南,足以在管理面板中看到增强的选择区域,但我不明白。相反,我得到了这个。 在此处输入图片说明

没有裁剪选项。

请帮我解决这个问题。

Roh*_*han 1

使用这个工具django-imagekit-cropper,它有很好的功能和非常好的文档。你需要创建一个 form.py 文件并需要提及这一点

from django import forms
    from imagekit_cropper.widgets import ImageCropWidget    
    from .models import UserData


    class ImageAdminForm(forms.ModelForm):
        square_150_crop = forms.CharField(widget=ImageCropWidget(properties=Image.square_150_crop_properties, help_text=Image.help['square_150_crop']))

        class Meta:
            model = UserData
Run Code Online (Sandbox Code Playgroud)