首页 > 解决方案 > 在 Django 模板中显示模型中的图像

问题描述

我正在尝试从模板中的模型访问图像:

在我的模板中,我有:

{% for server in servers %}
  <div class="hs-item set-bg" data-setbg="{{ server.image.url }}">
     <div class="hs-text">
        <div class="container">
           <h2>The Best <span>Games</span> Out There</h2>
             <p>Lorem ipsum.</p>
              <a href="#" class="site-btn">Read More</a>
        </div>
     </div>
 </div>
{% endfor %}

我的模型看起来像这样:

class Server(models.Model):
    Name = models.CharField(max_length=100)
    IP = models.CharField(max_length=50)
    Port = models.IntegerField()
    Image = models.ImageField(default='default.jpg', upload_to='server_pics')

    def __str__(self):
        return str(self.Name) if self.Name else ''

我已将此添加到我的settings.py

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

这是我的urls.py

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

但它不显示图像,并且我在控制台中没有收到错误......不知道我在这里做错了什么......

但是,当我用静态图像替换模板中的 {{ server.image.url }} 时,它可以工作。

标签: pythonhtmldjango

解决方案


我找到了解决方案,我不得不将 server.image.url 更改为 server.Image.url,这解决了问题。


推荐阅读