【问题标题】:Unable to display Images from Django Imagefield无法显示来自 Django Imagefield 的图像
【发布时间】:2018-08-12 05:11:16
【问题描述】:

我可以使用 Imagefield 将图像加载到特定路径,但无法在我的 html 模板中显示这些图像。

enter image description here

我的 settings.py :

STATIC_ROOT = "/app/static/"

STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join( BASE_DIR,'app','static'),
)

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

文件正在成功加载@./media/

这是我的 urlpattern 设置: 如果设置.DEBUG:

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

 {% for service in services %}
    <div class="col-md-4 animate-box">
        <div class="feature-left">
            <span class="icon">
            <img src="{{ service.icon.url }}" alt=""/>
            </span>
            <div class="feature-copy">
            <h3>{{service.name}}</h3>
            <p>{{ service.text }}</p>
            <p><a href="#">Learn More <i class="icon-arrow-right22"></i></a></p>
        </div>
    </div>
   </div>
{% endfor %}

Not Found: /icon/6.png
Not Found: /icon/blog-1.jpg
Not Found: /media/6_qjtYB6t.png
Not Found: /blog/blog-3.jpg

【问题讨论】:

  • 将您的模型类添加到问题中。

标签: django django-2.0 imagefield


【解决方案1】:

试试

<img src="{{ MEDIA_URL }}{{ service.icon.url }}" alt=""/>

【讨论】:

  • 试过但没用!错误:“图标”属性没有与之关联的文件。
  • “media”目录下的图片是否加载正确?
【解决方案2】:

感谢您的关注。但是我已经使用 if 标签解决了这个问题。现在正在运行。

{% for service in services %}
  <div class="col-md-4 animate-box">
    <div class="feature-left">
      <span class="">
        {% if service.icon %}
        <img src="{{service.icon.url}}" alt=""/>
        {% endif %}
      </span>
    <div class="feature-copy">
        <h3>{{service.name}}</h3>
        <p>{{ service.text }}</p>
        <p><a href="#">Learn More <i class="icon-arrow-right22"></i></a></p>
      </div>
    </div>
  </div>
{% endfor %}

【讨论】:

    猜你喜欢
    • 2013-04-24
    • 2015-01-08
    • 1970-01-01
    • 2015-12-04
    • 1970-01-01
    • 1970-01-01
    • 2021-05-18
    • 2020-03-03
    相关资源
    最近更新 更多