2012-10-07 13 views
8

Ich versuche, Django Sorl-thumbnail zu verwenden, aber es zeigt keine Bilder an (und zeigt keine Fehler).Django Sorl-Vorschaubild zeigt keine Bilder

Settings.py:

INSTALLED_APPS = (
    .... 
    'sorl.thumbnail', 
) 

Modelle:

class Toy(models.Model): 
    name = models.CharField(max_length=50, verbose_name=u'Name') 
    image = ImageField(upload_to='site_media/images') 

Vorlagen:

<div id="toy"> 
       {% for p in toys %} 
        <div class="toy"> 
           # toy.image - this is model_name.image field 
          {% thumbnail toy.image "100x700" as im %} 
          <img style="margin:{{ im|margin:"100x700" }}" src="{{ im.url }}" width="{{ im.x }}" height="{{ im.y }}"> 
          {% endthumbnail %} 

          <p> 
          <span> {{ p.name }} </span> 
          <span> {{p.unit_price}} </span> 
          </p> 
        </div> 
       {% endfor %} 
      </div> 

urls.py:

url(r'^site_media/(.*)$', 'django.views.static.serve', {'document_root' : os.path.join(os.path.dirname(__file__), 'site_media')}), 

Antwort

3

Have you imported ImageField von sorl in Modelldefinition? Es ist notwendig, dass es automatisch funktioniert.

Darüber hinaus you need to run in console./manage.py syncdb, da in der Standardkonfiguration Sorl Cache-Namen von Miniaturbildern in der Datenbank speichert. Dafür muss es eine eigene Tabelle in der Datenbank erstellen.

Können Sie auch Ihre Einstellungen von STATIC_URL, STATICFILES_DIRS usw. anzeigen?

13

Eigentlich ist die Verwendung der ImageField von sorl nur notwendig, um automatically delete Thumbnails, wenn das Originalbild gelöscht wird.

sorl.thumbnail zeigt standardmäßig keine Fehler an und schlägt im Hintergrund fehl, wenn die Thumbnail-Erstellung nicht erfolgreich war. Um die Fehler zu sehen, fügen Sie in Ihre settings.py

THUMBNAIL_DEBUG = True 

hinzu. Dies sollte Ihnen helfen, das Problem zu beheben.

+0

Die obigen Einstellungen wurden der Einstellungsdatei hinzugefügt, immer noch keine Fehler und keine Bilder gerendert. :/ – Amyth

+0

Sehr hilfreich! Vielen Dank. – JDavies

Verwandte Themen