如何移除Django项目中已写入Meta标签却仍在页面显示的图片路径
问题原因
你出现该问题的核心原因是将本应独立声明的image、description块写在了content块的内部。
Django模板的块渲染逻辑为:子页面中定义的块内容,除了会对应填充到父模板的同名块位置之外,你编写块代码的位置本身也会输出对应内容。你当前将{% block image %}写在content块内部,相当于既完成了head部分og:image的内容填充,又把图片路径直接输出到了页面内容区的开头,所以会在首页顶部看到图片路径。
解决方法
修改home.html的代码结构,将description和image块移到content块的外部即可,调整后代码参考如下:
{% extends 'base/base.html' %} {% load static %} {% block description %}{{ info.description }}{% endblock %} {% block image %}{{ info.avatar.url }}{% endblock %} {% block content %} <!-- 此处保留你原本content块内的其他业务代码 --> {% endblock %}
修改完成后刷新页面,顶部的图片路径就会消失,同时og:image、og:description等meta标签的填充逻辑不受影响。
内容的提问来源于stack exchange,提问作者A_K
相关产品推荐
相关产品推荐

