django - 使用 block.super 附加到 Django 模板中的站点 <title>

标签 django block super

我有 3 个 Django 模板:

base.html

<title>{% block title %} SITE NAME {% endblock %}</title>

default.html
{% extends "base.html" %}
{% block title %} {{ block.super }} - SECTION NAME {% endblock %}

main.html
{% extends "default.html" %}
{% block title %} {{ block.super }} {% endblock %}

我想在模板中获取站点名称 main.html 即父块的父块的内容。类似的东西
{{ block.super.super }}

这可能吗?

最佳答案

我不认为这是可能的。仅针对您的特定问题,我想如果您将站点名称放在块之前,并使用块只是在站点名称后附加一些内容,则可以解决。

否则你可以定义 SITE_NAME在您的 settings.py并有一个上下文处理器,如

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

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

关于django - 使用 block.super 附加到 Django 模板中的站点 &lt;title&gt;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4323364/

相关文章:

linux - 某些 Htaccess 命令阻止了我的 linux cron 作业

css - HTML CSS : How to copy and paste div block elements into Notepad while retaining the white space?

django - 如何链接到 django-cms 中未翻译页面的语言主页?

python - Django 会自动缓存模板吗?

hadoop - HDFS 上的文件 block

java - 从子类返回数据

java - 为什么访问扩展类(Java)中的成员和函数存在差异?

Django 无法导入 name utils

django - 一起使用django-nose和django-celery-单元测试

python - super(cls, instance) 和 super(cls, subclass) 有什么区别?