很多教程没教对,导致Django中的图片不能正确的显示出来,经过多次踩坑,发现如下方法可以解决该问题。
1.setting.py中添加:
STATIC_URL = '/static/' STATICFILES_DIRS=[ os.path.join(BASE_DIR,'static').replace('\','/') ]
注意在这里BASE_DIR在setting.py中为:
os.path.dirname(os.path.dirname(os.path.abspath(__file__))),这表明BASE_DIR是setting.py所在文件夹下的父文件夹,也就是其他文章中所说的与“templates”同级的文件夹,所以上述STATICFILES_DIRS指的是与“templates”同级的名为"static"的文件夹,静态文件(如images,js,css等)均放在此文件夹下。
2.在html中写入:
{% load static %}
<img src= "/static/images/profile.jpg" alt="profile">
或者模板语言模式:
<img src="{% static 'images/profile.jpg' %}" alt="profile">
3.显示如下:
显示成功