Redimensionnement d'image avec django?

Je suis nouveau sur Django (Python) et j'ai essayé de travailler un certain nombre de choses moi-même, avant de sauter dans l'utilisation des autres applications. Je vais avoir du mal à comprendre où les choses s'adapter à la Django (ou Python) façon de faire les choses. Ce que je suis en train de travailler sur est de savoir comment redimensionner une image, une fois qu'il est téléchargé. J'ai mon modèle de configuration joliment et branché dans l'admin, et l'image uploads amende pour le répertoire:

from django.db import models

# This is to list all the countries
# For starters though, this will be just United Kingdom (GB)
class Country(models.Model):
    name = models.CharField(max_length=120, help_text="Full name of country")
    code = models.CharField(max_length=2, help_text="This is the ISO 3166 2-letter country code (see: http://www.theodora.com/country_digraphs.html)")
    flag = models.ImageField(upload_to="images/uploaded/country/", max_length=150, help_text="The flag image of the country.", blank=True)

    class Meta:
        verbose_name_plural = "Countries"

    def __unicode__(self):
        return self.name

La chose dont je suis maintenant avoir des ennuis avec, est de prendre le fichier et d'en faire un nouveau fichier dans une vignette. Comme je l'ai dit, j'aimerais savoir comment le faire sans l'aide des autres applications (pour l'instant). J'ai eu ce code de DjangoSnippets:

from PIL import Image
import os.path
import StringIO

def thumbnail(filename, size=(50, 50), output_filename=None):
    image = Image.open(filename)
    if image.mode not in ('L', 'RGB'):
        image = image.convert('RGB')
    image = image.resize(size, Image.ANTIALIAS)

    # get the thumbnail data in memory.
    if not output_filename:
        output_filename = get_default_thumbnail_filename(filename)
    image.save(output_filename, image.format) 
    return output_filename

def thumbnail_string(buf, size=(50, 50)):
    f = StringIO.StringIO(buf)
    image = Image.open(f)
    if image.mode not in ('L', 'RGB'):
        image = image.convert('RGB')
    image = image.resize(size, Image.ANTIALIAS)
    o = StringIO.StringIO()
    image.save(o, "JPEG")
    return o.getvalue()

def get_default_thumbnail_filename(filename):
    path, ext = os.path.splitext(filename)
    return path + '.thumb.jpg'

...mais cela a finalement confondu moi... Comme je ne sais pas comment cela s'inscrit dans " mon Django app? Et vraiment, est-il la meilleure solution pour rendre tout simplement une vignette d'une image qui a été téléchargée avec succès? Quelqu'un peut éventuellement m'indiquer une bonne et solide, de façon décente qu'un débutant comme moi peut apprendre à le faire correctement? Comme, en sachant où mettre ce genre de code (models.py? forms.py? ...) et comment cela pourrait fonctionner dans le contexte? ... J'ai juste besoin d'un peu d'aide pour comprendre et travailler ce problème.

Merci!

source d'informationauteur littlejim84