1

imagekitは、ユーザーがアップロードしたときにサムネイルとしてユーザーの写真を返し、元の写真を保持したいと考えています。ただし、サムネイル画像は返されるものである必要があります。imagekitのドキュメントを読みましたが、成功しません。サムネイル画像は返されません。ユーザーがアップロードした画像の実際のサイズのみが返されます。これを機能させる方法についてのチュートリアルを探していましたが、このトピックを掘り下げるチュートリアルが見つかりません。imagekitにアップロードされた写真をサムネイルとして返すにはどうすればよいですか?imagekitv2.0を使用しています。

モデル

       class Meek(models.Model):
          user=models.ForeignKey(User)
          title=models.CharField(max_length=250, unique=True)
          address=models.CharField(max_length=200)
          city=models.CharField(max_length=200)
          state=models.CharField(max_length=200)
          main_view=models.ImageField(upload_to="photos",blank=True, null=True)
          side_view=models.ImageField(upload_to="photos",blank=True, null=True)
          pub_date=models.DateTimeField()
          thumbnail=ImageSpecField([Adjust(contrast=1.2, sharpness=1.1),ResizeToFill(50, 50)], image_field='main_view', format='JPEG',options={'quality': 90})
          thumbnail=ImageSpecField([Adjust(contrast=1.2, sharpness=1.1),ResizeToFill(50, 50)], image_field='side_view', format='JPEG',options={'quality': 90})
          def __unicode__(self):
              return self.title

ビュー

            def findme(request):
                extra_data_context={}
                if request.method=="POST":
                    form=MeekForm(request.POST, request.FILES)
                    if form.is_valid():
                       data=form.cleaned_data
                       newmeeks=Meek(
                          user=request.user,
                          pub_date=datetime.datetime.now(),
                          title=data['title'],
                          main_view=request.FILES['main_view'],
                          side_view=request.FILES['side_view'],
                          address=data['address'],
                          city=data['city'],
                          state=data['state'])
                      newmeeks.save()
                   extra_data_context.update({'MeekForm':form})
              else:
                 form = MeekForm()
                 extra_data_context.update({'MeekForm':form})
              extra_data_context.update({'Meeks':Meek.objects.filter(user=request.user)})
              return render_to_response('postme.html',extra_data_context,context_instance=RequestContext(request))

レンプレート

       {% for Meek in Meeks.object_list %}
               {# posted only this because, I'm only having problem with images. #}
           <p><img src="{{MEDIA_URL}}/{{Meek.main_view}}"/> <img src="{{MEDIA_URL}}/{{Meek.side_view}}"/> </p>

         {% endfor %}
4

1 に答える 1

2

これは私のために働いたものです:

モデル:

class Model(models.Model):
    image_1 = ProcessedImageField([Adjust(contrast=1.2, sharpness=1.1), ResizeToFill(500, 370)], upload_to=generate_image_filename_1, format='JPEG', options={'quality': 90})
    thumbnail_1 = ImageSpec([Adjust(contrast=1.2, sharpness=1.1), ResizeToFill(83, 78)], image_field='image_1', cache_to=generate_cache_filename, format='JPEG', options={'quality': 90})

意見:

def thumbnail(request, pk):
    thumb_pk = pk
    instance = Model.objects.get(pk=thumb_pk)
    return render_to_response('thumbnail.html',{'instance': instance},context_instance = RequestContext(request))

テンプレート'thumbnail.html':

# show the tumbnail

<img alt="thumbnail" src="{{ instance.thumbnail_1.url }}" width="83" height="78">
于 2012-06-25T19:33:02.897 に答える