首页 > 解决方案 > 在 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)

我的 view-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 中。

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

这里可能有什么问题?

标签: htmldjango

解决方案


您需要将媒体 url 添加到项目的 urlpatterns:

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)

在此处查看详细信息。


推荐阅读