我正在尝试使用 sorl-thumnail 来调整视图中图像的大小,然后在调用 get_thumnail() 时将其保存并获取 IOError。我还需要知道如何保存调整大小的图像。抱歉,如果您认为这很愚蠢..我是 Django 新手。
模型.py:
from django.db import models
from django.forms import ModelForm
from sorl.thumbnail import ImageField
class BasicModel(models.Model):
name = models.CharField(max_length=200)
dob = models.DateField()
photo = ImageField(upload_to='sample')
class BasicModelForm(ModelForm):
class Meta:
model = BasicModel
视图.py:
def BasicView(request):
if request.method == 'POST':
form = BasicModelForm(request.POST, request.FILES)
if form.is_valid():
im = get_thumbnail(request.FILES['photo'], '100x100', crop='center', quality=99)
data = form.save()
return preview(request, data.id, im)
else:
form = BasicModelForm()
return render_to_response("unnamed.html", {'form': form}, context_instance=RequestContext(request))
def preview(request, id, im):
obj = get_object_or_404(BasicModel, pk=id)
return render_to_response("preview.html", {'obj': obj, 'im': im})
预览.html:
{{ obj.name }}
{{ obj.dob }}
{% load thumbnail %}
{% thumbnail im "100x100" as image %}
<img src="{{ image.url }}" width="{{ image.width }}" height="{{ image.height }}">
{% endthumbnail %}
设置.py:
MEDIA_ROOT = '/home/nirmal/try/files/'
MEDIA_URL = 'http://localhost:8000/files/'
错误:
Exception Type: IOError
Exception Value:
[Errno 2] No such file or directory: u'/home/nirmal/try/files/wp.jpg'
Exception Location: /usr/local/lib/python2.7/dist-packages/django/core/files/storage.py in _open, line 159
Traceback: im = get_thumbnail(request.FILES['photo'], '100x100', crop='center', quality=99)
有人可以帮我吗?谢谢!