Bootstrap nav-brand跳转到非index页面时消失如何排查解决?
问题原因
你的nav-brand图片消失是静态资源路径引用错误导致的:
当前你在模板里写的logo路径是相对路径static/images/logo150x63_2_2DP.png,当你访问/projects/university_projects/、/projects/contact/这类二级路径页面时,浏览器会自动将相对路径和当前页面路径拼接,变成/projects/static/images/logo150x63_2_2DP.png,找不到对应资源就会显示为空。
解决步骤
- 先确认项目
settings.py中已配置静态文件地址,默认生成的Django项目都会有这行配置:
STATIC_URL = 'static/'
- 在你的
base.html文件最顶部,添加静态文件标签加载声明:
{% load static %}
- 修改base.html中logo图片的src属性,替换为Django静态模板标签写法:
把原来的
<img src="static/images/logo150x63_2_2DP.png" alt="">
修改为
<img src="{% static 'images/logo150x63_2_2DP.png' %}" alt="">
修改完成后重启开发服务,所有页面的nav-brand logo就都能正常显示了。如果是生产环境部署,额外配置好STATIC_ROOT执行collectstatic命令即可。
内容的提问来源于stack exchange,提问作者Abdul Khan
相关产品推荐
相关产品推荐

