Html Django块页标题
我正在尝试为每个页面创建自定义页面标题,但未成功。下面是我所有html页面的一般设置(我认为可以,但没有),如果有任何解决方案,我将不胜感激 head.htmlHtml Django块页标题,html,django,Html,Django,我正在尝试为每个页面创建自定义页面标题,但未成功。下面是我所有html页面的一般设置(我认为可以,但没有),如果有任何解决方案,我将不胜感激 head.html something something <title>{% block title %}Default Value{% endblock title %}</title> something something 某物 {%block title%}默认值{%endblock title%} 什么东西 base
something something
<title>{% block title %}Default Value{% endblock title %}</title>
something something
某物
{%block title%}默认值{%endblock title%}
什么东西
base.html
<!DOCTYPE html>
<html>
{% include "head.html" %}
<body>
{% include 'header.html' %}
{% block content %}
{% endblock content %}
{% include 'footer.html' %}
{% include 'scripts.html' %}
</body>
</html>
{%include“head.html”%}
{%include'header.html%}
{%block content%}
{%endblock内容%}
{%include'footer.html%}
{%include'scripts.html%}
404 html文件
{% extends 'base.html' %}
{% load static %}
{% block title %}404{% endblock title %}
{% block content %}
<div id="main404">
<div class="fof">
<h1>Error 404 :(</h1>
</div>
</div>
{% endblock content %}
{%extends'base.html%}
{%load static%}
{%block title%}404{%endblock title%}
{%block content%}
错误404:(
{%endblock内容%}
目前它仍然显示head.html中指示的默认值。我想使用上面尝试的块自定义每个页面的页面标题
谢谢。404 html文件扩展了
base.html
而不是head.html
,这意味着它不会填充head.html
的块head.html
被包含在base.html
中,这意味着它是单独编译和呈现的,并且不会被扩展base.htm的模板扩展l
引用自: include标记应被视为“render”的一个实现 此子模板并包含HTML”,而不是“解析此子模板” 并包含其内容,就好像它是父对象的一部分” 包含的模板之间没有共享状态–每个 include是一个完全独立的渲染过程 最简单的方法是将块放入
base.html
:
<!DOCTYPE html>
<html>
<head>
something something
<title>{% block title %}Default Value{% endblock title %}</title>
something something
</head>
<body>
{% include 'header.html' %}
{% block content %}
{% endblock content %}
{% include 'footer.html' %}
{% include 'scripts.html' %}
</body>
</html>
什么东西
{%block title%}默认值{%endblock title%}
什么东西
{%include'header.html%}
{%block content%}
{%endblock内容%}
{%include'footer.html%}
{%include'scripts.html%}
只有子模板才能覆盖块
标记,这些子模板使用扩展
标记。标题的块标记嵌套在include template语句(head.html)中。如果您有一个大的head块需要包含在其他模板中,那么我可以看到继承很有帮助
head.html
base.html
{%block head%}
{%include“head.html”%}
{%endblock%}
{%include'header.html%}
{%block content%}
{%endblock内容%}
{%include'footer.html%}
{%include'scripts.html%}
404.html
{%extends'base.html%}
{%load static%}
{%block head%}
{%include“head_404.html”%}
{%endblock%}
{%block content%}
错误404:(
{%endblock内容%}
您可以跳过head_404.html文件,也可以在404.html模板中简单地定义head-children标记
{% extends 'base.html' %}
{% load static %}
{% block head %}
... stuff
<title>404</title>
{% endblock %}
{% block content %}
<div id="main404">
<div class="fof">
<h1>Error 404 :(</h1>
</div>
</div>
{% endblock content %}
{%extends'base.html%}
{%load static%}
{%block head%}
东西
404
{%endblock%}
{%block content%}
错误404:(
{%endblock内容%}
保持文件结构不变的一种方法是在django的include方法中将title作为参数发送,如下所示:
按如下方式更新您的文件:
base.html
something something
<title>{{title}}</title>
something something
创建一个名为headcontent的新块,并包含带有默认标题的head.html
{%block headcontent%}{%include head.html with title=“Default title”%}{%endblock%}
{%include'header.html%}
{%block content%}
{%endblock内容%}
{%include'footer.html%}
{%include'scripts.html%}
404.html
something something
<title>{{title}}</title>
something something
将headcontent块的值作为head.html提供,标题为您的愿望,在本例中为404
{%extends'base.html%}
{%load static%}
{%block headcontent%}{%include head.html,title=“404”}{%endblock%}
{%block content%}
错误404:(
{%endblock内容%}
head.html
something something
<title>{{title}}</title>
something something
某物
{{title}}
什么东西
要了解有关使用包含参数检查的更多信息,请执行以下操作:
{% extends 'base.html' %}
{% load static %}
{% block head %}
... stuff
<title>404</title>
{% endblock %}
{% block content %}
<div id="main404">
<div class="fof">
<h1>Error 404 :(</h1>
</div>
</div>
{% endblock content %}
<!DOCTYPE html>
<html>
{% block headcontent %}{% include head.html with title="Default Title" %}{% endblock %}
<body>
{% include 'header.html' %}
{% block content %}
{% endblock content %}
{% include 'footer.html' %}
{% include 'scripts.html' %}
</body>
</html>
{% extends 'base.html' %}
{% load static %}
{% block headcontent %}{% include head.html with title="404" %}{% endblock %}
{% block content %}
<div id="main404">
<div class="fof">
<h1>Error 404 :(</h1>
</div>
</div>
{% endblock content %}
something something
<title>{{title}}</title>
something something