很多教程没教对,导致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.显示如下:

Django中图片不显示

 

 显示成功

 

参考博客:https://www.cnblogs.com/tongyan/p/4086296.html