Django扩展子模板中的公共变量或块

2024-04-19 18:34:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我在基模板中有一个公共变量或块,我想在子模板中扩展它,如何实现这一点?我有以下代码。你知道吗

你知道吗基本.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>
...

我的_页面.html你知道吗

{% extends 'base.html' %}

{% block page_title %}
    Page title goes here
{% endblock %}

当我运行这个代码时,我得到以下错误 名为“page\u title”的“block”标记出现多次


Tags: 代码模板titlehtmlpagebodyproperty页面
1条回答
网友
1楼 · 发布于 2024-04-19 18:34:24

每当您发现自己希望某个值在模板中出现两次时,似乎应该在呈现上下文中提供数据。你知道吗

有很多选项,但最简单的就是在呈现模板时提供一个page_title上下文参数:

def my_view(request):
    # View code here...
    return render(request, 'myapp/index.html', {
        'page_title': 'Your Page Title',
    })

然后在模板中使用它作为任何其他模板变量:{{ page_title }}

相关问题 更多 >