在django模板中显示图像

时间:2018-06-14 06:50:58

标签: html django

我正在查询数据库中的图像并以HTML格式显示它们。

我的views.py是

@login_required
def viewall(request):
    context = RequestContext(request)
    images = Images.objects.all().order_by('-id')
    return render_to_response('cms/view-all.html',{'images':images,'media_url':settings.MEDIA_URL},context)

我的观点-all.html是

{% extends "cms/base.html" %}

{% block title %}
    View-all
{% endblock %}

{% block main %}

{%  for image in images %}
    <img src="{{ media_url }}{{ image.file }}">
{% endfor %}
{% endblock %}

在settings.py中

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

我的图片位于项目目录文件/ media / images。

但是图像没有显示出来。我是这样的。

这可能是什么问题?

2 个答案:

答案 0 :(得分:1)

您需要将媒体网址添加到项目的网址:

from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
    # ... the rest of your URLconf goes here ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

详见here

答案 1 :(得分:0)

试试这个,你需要添加“。”在路径之前(假设媒体文件夹在根目录中)

MEDIA_URL = './media/'