You need to enable JavaScript to run this app. Django项目无法找到templates目录下的图片资源该如何处理?
优惠活动
大模型
产品
解决方案
定价
更多

Django项目无法找到templates目录下的图片资源该如何处理?

Django静态图片加载失败解决方案

你当前的核心错误是将图片资源存放在了templates目录下,该目录是Django专属的模板文件存储目录,默认不会对外开放静态资源访问权限,不管怎么写相对路径都无法正常加载。

第一步:调整静态资源存放路径

在你的应用目录mysite/app/下新建static文件夹,再在static目录内新建img子目录,将你的pic.png移动到mysite/app/static/img/pic.png路径下。

第二步:确认静态文件配置

打开项目全局配置文件mysite/mysite/settings.py,检查是否有以下配置:

# 静态资源访问路由前缀
STATIC_URL = 'static/'

Django默认会自动扫描每个应用下的static目录,单应用开发无需额外配置STATICFILES_DIRS。

第三步:修改HTML模板引用方式

  • 首先在你的HTML文件最顶部添加静态资源标签加载声明:
    {% load static %}
  • 替换img标签的src属性为Django模板语法生成的静态路径:
    <img src="{% static 'img/pic.png' %}">

第四步:配置开发环境静态资源路由

打开项目全局路由文件mysite/mysite/urls.py,在原有路由列表末尾追加静态资源访问规则,仅开发调试模式(DEBUG=True)下需要该配置:

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    # 此处保留你原有所有路由配置
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

你之前直接写相对路径的写法不生效的原因:Django的模板是服务端渲染逻辑,浏览器访问的是渲染后的页面,直接写文件相对路径是浏览器基于当前页面的URL发起资源请求,不会对应你服务器本地的模板目录结构,加上templates目录本身没有配置访问权限,请求自然会404。

内容的提问来源于stack exchange,提问作者ReRed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 07:15:04