如何获取上传的图像';django的宽度和高度?
如何在django中获取上传图像的宽度和高度如何获取上传的图像';django的宽度和高度?,django,image-upload,Django,Image Upload,如何在django中获取上传图像的宽度和高度 不要使用PIL。委托给专门用于处理图像的包。例如PIL。Django拥有自动执行此计算的功能,但您需要安装PIL 设置后,您将自动获得图像的高度和宽度属性,因此您可以执行以下操作: class SomeModel(models.Model): img = models.ImageField(upload_to='images/') foo = SomeModel.objects.get(pk=1) print('The height is {
不要使用PIL。委托给专门用于处理图像的包。例如PIL。Django拥有自动执行此计算的功能,但您需要安装PIL 设置后,您将自动获得图像的
高度
和宽度
属性,因此您可以执行以下操作:
class SomeModel(models.Model):
img = models.ImageField(upload_to='images/')
foo = SomeModel.objects.get(pk=1)
print('The height is {0.height} and the width is {0.width}'.format(foo.img))
ImageField将自动处理图像的宽度和高度。你不需要做任何事情
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
urlpatterns = [
path('admin/', admin.site.urls),
path(...),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
然后更改项目目录中的url.py
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
urlpatterns = [
path('admin/', admin.site.urls),
path(...),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
class Picture(models.Model):
image = models.ImageField(upload_to='images/', width_field = 'image_width', height_field='image_height')
image_width = models.IntegerField(default=0)
image_height = models.IntegerField(default=0)
class PictureForm(forms.Form)
image = forms.ImageField()
def createPicture(request):
form = PictureForm(request.POST, request.FILES)
if form.is_valid():
picture = Picture()
picture.image = form.cleaned_data['image']
picture.save()
return HttpResponseRedirect(reverse('picture-list'))
else:
form = PictureForm()
return render(request, 'template_file', {'form' : form})
你为什么不允许使用PIL?这正是它的用途。然后使用我的意思是不要使用其他包,只使用django。django中是否有一种方法或属性可以像request.FILES['filename'].name那样简单地获取上传图像的宽度和高度