Я пытаюсь использовать sorl-thumnail, чтобы изменить размер изображения в представлениях, затем сохранить его и получить IOError при вызове get_thumnail ().Также мне нужно знать, как сохранить измененное изображение.Извините, если вы считаете это глупым ... Я новичок в Django.
Models.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
Views.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})
preview.html:
{{ obj.name }}
{{ obj.dob }}
{% load thumbnail %}
{% thumbnail im "100x100" as image %}
<img src="{{ image.url }}" width="{{ image.width }}" height="{{ image.height }}">
{% endthumbnail %}
Settings.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)
Может ли кто-нибудь помочь мне в этом?Спасибо!