Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
附加到站点<;标题>;在Django模板中使用block.super_Django_Block_Super - Fatal编程技术网

附加到站点<;标题>;在Django模板中使用block.super

附加到站点<;标题>;在Django模板中使用block.super,django,block,super,Django,Block,Super,我有3个Django模板: base.html <title>{% block title %} SITE NAME {% endblock %}</title> {% extends "base.html" %} {% block title %} {{ block.super }} - SECTION NAME {% endblock %} {% extends "default.html" %} {% block title %} {{ block.super

我有3个Django模板:

base.html

<title>{% block title %} SITE NAME {% endblock %}</title>
{% extends "base.html" %}
{% block title %} {{ block.super }} - SECTION NAME {% endblock %}
{% extends "default.html" %}
{% block title %} {{ block.super }} {% endblock %}
{% extends "default.html" %}
{% block title %} {{ block.super }} - MAIN{% endblock %}
main.html

<title>{% block title %} SITE NAME {% endblock %}</title>
{% extends "base.html" %}
{% block title %} {{ block.super }} - SECTION NAME {% endblock %}
{% extends "default.html" %}
{% block title %} {{ block.super }} {% endblock %}
{% extends "default.html" %}
{% block title %} {{ block.super }} - MAIN{% endblock %}
我想在templatemain.html中获取站点名称,即父块的父级内容。差不多

{{ block.super.super }}

这可能吗?

我认为这不可能。就你的具体问题而言,我想如果你将站点名称放在块之前,并使用块只是在站点名称后面附加一些东西,那么它是可以解决的

否则,您可以在
settings.py
中定义
SITE\u NAME
,并使用类似的上下文处理器

from django.conf import settings
def site_name(request):
    return {'SITE_NAME': settings.SITE_NAME}

这样您就可以在模板中使用
{{SITE_NAME}}
,这可能是有意义的,因为站点名称也可以在其他地方使用…

注意,Django 1.2.3似乎已经满足了您的要求。假设SITE_NAME是通过lzerscience所示的context_预处理器公开的,block.super应该通过所有继承层公开它

main.html

<title>{% block title %} SITE NAME {% endblock %}</title>
{% extends "base.html" %}
{% block title %} {{ block.super }} - SECTION NAME {% endblock %}
{% extends "default.html" %}
{% block title %} {{ block.super }} {% endblock %}
{% extends "default.html" %}
{% block title %} {{ block.super }} - MAIN{% endblock %}
这将为我显示标题“站点名称-节名-主”。

Django 1.6.6

{{block.super.super}
-可能

我现在试试——工作:) 但不是正式的