Django无法显示保存在媒体文件夹中的图像

时间:2016-07-26 08:42:36

标签: python django django-templates

我将上传的文件保存在名为/ img /:

的媒体根目录中
MEDIA_ROOT = os.path.join(BASE_DIR, 'img')
MEDIA_URL = '/img/'

并使用此模板显示该文件夹中的每个图像:

{% load staticfiles %}
<ul>
{%  for post in latest_post %}
    <li>{{ post.id }} : {{ post.post_body }} : <img src="{% static "/img/" %}{{ post.post_image }}" alt="{{ post.post_image }}" /> </li>

    {% endfor %}
</ul>

我得到了正确的网址:

http://127.0.0.1:8000/img/birthday.jpg

但是当我打开图像时出现“找不到页面”错误。那是为什么?

编辑:我刚刚运行了manage.py collectstatic,但它没有解决问题。我仍然收到404错误。

1 个答案:

答案 0 :(得分:0)

在名称static的基础目录中创建一个文件夹,并将所有css,img,js等文件存储在各自的文件夹中,如下所示:

MovieName

运行python manage.py collectstatic,它会收集所有静态文件并将它们保存在staticroot文件夹中。

之后将settings.py更改为以下内容:

.
├── css
├── fonts
├── icons
├── img
└── js