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写法是官网写法,比较推荐。