我尝试使用Django sorl-thumbnail,但它不显示图像(并且不显示任何错误)。
Settings.py:
INSTALLED_APPS = (
....
'sorl.thumbnail',
)
楷模:
class Toy(models.Model):
name = models.CharField(max_length=50, verbose_name=u'Name')
image = ImageField(upload_to='site_media/images')
范本:
<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')}),
最佳答案
从模型定义中的Have you imported ImageField?有必要使其自动运行。
此外,you need to run in console ./manage.py syncdb
是因为在默认配置中,sorl会将缩略图的缓存名称保留在数据库中。为此,它必须在数据库中创建自己的表。
您还可以显示STATIC_URL,STATICFILES_DIRS等设置吗?
关于Django sorl-thumbnail不显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12767425/