Django将图片,JS,CSS等文件称作静态文件,如果你要在模板中引用这些静态文件,你必须设置static_url或者static_root。

1.修改settings.py文件,添加如下内容:

STATIC_URL = '/static/'

# 设置文件存储路径
STATICFILES_DIRS = [
     os.path.join(BASE_DIR, "static")
]

STATIC_URL的意思是将静态文件的http可访问路径设为/static/

STATICFILES_DIRS是静态文件的真实存储目录,你可以通过STATICFILES_DIRS添加多个静态文件存储目录。

2.修改模板中对于图片的引用路径:

<!DOCTYPE html>
<html lang="en">
<head>
    {% load static %}
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
商品名称:{{good.title}}<br/>
商品价格:{{good.price}}<br/>
商品描述:{{good.desc}}<br/>
商品图片:<br/><img src="/{{good.picture}}">
<hr/>
<img src="{% static 'image/00ecf4ebd745b45b50a4e0ad526e59bb.jpg'%}">
</body>
</html>

Django在查找图片时会默认的使用static()方法(前提是你INSTALLED_APPS里包含django.contrib.staticfiles)到你给定的STATICFILES_DIRS目录下寻找静态文件,这种load写法是官网写法,比较推荐。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐