【问题标题】:Django sorl-thumbnail does not display imagesDjango sorl-thumbnail 不显示图像
【发布时间】:2012-10-07 08:56:55
【问题描述】:

我尝试使用 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')}),

【问题讨论】:

    标签: django


    【解决方案1】:

    其实使用sorl中的ImageField只是在删除原图时automatically delete缩略图才需要。

    默认情况下,sorl.thumbnail 不显示任何错误,如果缩略图创建不成功,则会静默失败。要查看错误,请添加

    THUMBNAIL_DEBUG = True
    

    到你的 settings.py。这应该可以帮助您解决问题。

    【讨论】:

    • 将上述设置添加到设置文件中,仍然没有错误,也没有渲染图像。 ://
    • 非常有帮助!谢谢。
    【解决方案2】:

    Have you imported 模型定义中来自 sorl 的 ImageField?有必要让它自动工作。

    此外,you need to run in console ./manage.py syncdb 因为在默认配置中 sorl 将缓存的缩略图名称保存在数据库中。为此,它必须在数据库中创建自己的表。

    能否也显示一下您的 STATIC_URL、STATICFILES_DIRS 等设置?

    【讨论】:

      猜你喜欢
      • 2018-01-06
      • 1970-01-01
      • 2019-09-07
      • 2012-06-17
      • 2015-06-14
      • 2016-05-09
      • 2010-12-03
      • 2014-01-03
      • 2015-01-16
      相关资源
      最近更新 更多