我在基本模板中有一个公共变量或块,我想在子模板中扩展,我该如何实现?我有以下代码。
base.html文件
<html>
<head>
<title>
{% block page_title %} {% endblock %}
</title>
<meta property="og:title" content="{% block page_title %} {% endblock %}" />
...
</head>
<body>
<h1> {% block page_title %} {% endblock %} </h1>
...
my_page.html
{% extends 'base.html' %}
{% block page_title %}
Page title goes here
{% endblock %}
当我运行此代码时,我收到以下错误 &#39;块&#39;标记为&#39; page_title&#39;出现不止一次
答案 0 :(得分:1)
每当你发现自己想要一个值在模板中出现两次时,它就像在渲染上下文中提供数据一样。
有很多选项可供选择,但最简单的方法是在渲染模板时提供page_title
上下文参数:
def my_view(request):
# View code here...
return render(request, 'myapp/index.html', {
'page_title': 'Your Page Title',
})
然后在模板中将其用作任何其他模板变量:{{ page_title }}