Django - 从Media文件夹内的文件夹加载图片

4
我遇到了一个问题,除了我的媒体文件夹外,我无法从任何地方加载图像。
例如:
<img src="media/image.png" />

只要不移动 "image.png" 文件,页面就能正常加载。

但是如果我将 "image.png" 文件再深入一个文件夹,如下所示:

<img src="media/folder/image.png" />

"

image.png"无法加载。

有人有任何想法为什么会发生这种情况吗?

"

你的配置是什么?你是在本地主机上运行Django,还是在Apache或其他什么地方?另外,在settings.py文件中,STATIC_URL变量的值是什么?最后,当出现错误时,你收到了什么错误信息?是404吗? - Pawel Miech
抱歉,我忘了提到这是在本地主机上。目前为止,我只是在一个HTML文件中硬编码,所以我的STATIC_URL值是什么并不重要吗?如果它很重要的话,那就是“/static/”。我没有收到任何错误消息,这不是一个错误,只是图片没有加载,如果它不是直接位于媒体文件夹中的话。 - user2472819
你的 {% load static %} 是否正常工作? - Pawel Miech
2个回答

2

您需要使用Django的staticfiles模块。'Static'会找出您的文件放置在哪里,并将所有请求重定向到该文件夹

假设您的image.png位于you/yourapp/static/media/folder中,则应按照以下方式操作。

{% load  static %}
<img src="{% static 'media/folder/image.png' %}" />

阅读文档,了解如何使用Django处理静态文件。


0
如果不是在生产环境中,那么这可能会有所帮助:https://stackoverflow.com/a/52672594/1953366 对我来说有效。您可以使用“/”将路径直接映射到文件。但是文件夹层次结构不会被公开。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接