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)
根据官方指南,足以在管理面板中看到增强的选择区域,但我不明白。相反,我得到了这个。
没有裁剪选项。
请帮我解决这个问题。
使用这个工具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)