0

我是 Django 新手,遇到模板中图像渲染的问题。这是我的模板代码:

{% for project in projectList %}

        <div class="col-lg-4 col-sm-6">
        <div class="preview">
          <div class="image">
            <a href="#"><img src="{{ MEDIA_URL }}{{ project.photo }}" class="img-responsive" alt="{{ project.name }}"></a>
          </div>
          <div class="options">
            <h3>{{ project.name }}</h3>
            <p>{{ project.description }}</p>
            <div class="btn-group"><a class="btn btn-success" href="#">Preview</a></div>
            </div>
          </div>
        </div>

        {% endfor %}

我已将 MEDIA_URL 设置如下:

MEDIA_ROOT = os.path.join(os.path.dirname(__file__), 'media/').replace('\\', '/') 
MEDIA_URL = '/media/'     

但是图片没有出现在网页中,有人可以帮我解决这个问题吗?谢谢。

4

1 回答 1

1

{{project.photo}}应该{{project.photo.url}}

更新:

<a href="#"><img src="/{{ project.photo.url }}" class="img-responsive" alt="{{ project.name }}"></a>

并确保设置了网络服务器,以便实际从 MEDIA_ROOT 文件夹中检索对 MEDIA_URL 的请求。

如果你想让 Django 解析 MEDIA_URL 和 STATIC_URL 将以下行添加到你的根 urls.py。

from django.conf import settings
from django.conf.urls.static import static 
from django.contrib.staticfiles.urls import staticfiles_urlpatterns 

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

资料来源:https ://chat.stackoverflow.com/rooms/28837/discussion-between-paulo-bu-and-sheshkovsky

于 2013-10-22T08:29:38.593 回答