首页 > 解决方案 > Django 在根文件夹中找不到“/media/image.png”

问题描述

我有以下结构

my app/
|_my_app/
|  |_templates/
|_static/
|_media/
|_utils/
|_main.py
|_manage.py
|_.gitignore

并参与进来template.html

<img src="./media/image.png"> 然后它会抛出 GET 404 错误Cannot find /media/image.png

我也尝试过相对路径(相对于模板,即<img src="../../media/image.png">.

将媒体文件夹移动到静态(包括{% load static %}我可以做的)

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

没有任何问题。

  1. ./media/image.png为什么第一部分找不到?
  2. 有没有办法做“静态”技巧但使用另一个标签(比如media<img src="{% media 'image.png' ">来避免绝对路径?

标签: htmldjangodjango-templates

解决方案


您可以在 static 文件夹中创建一个名为img的新文件夹,然后将图像粘贴到img文件夹中,这样图像的路径将如下所示:static -> img -> image.png。您可以像这样在 HTML 中加载图像:

<img src="{% static 'img/image.png'">

推荐阅读