相关疑难解决方法(0)

如何在django模板中重复"块"

我想在同一个django模板中使用相同的{%block%}两次.我希望此块在我的基本模板中出现多次:

# base.html
<html>
    <head>
        <title>{% block title %}My Cool Website{% endblock %}</title>
    </head>
    <body>
        <h1>{% block title %}My Cool Website{% endblock %}</h1>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

然后扩展它:

# blog.html
{% extends 'base.html' %}
{% block title %}My Blog{% endblock %}

# pictures.html
{% extends 'base.html' %}
{% block title %}My Pictures{% endblock %}

# cats.html
{% extends 'base.html' %}
{% block title %}My Cats{% endblock %}
Run Code Online (Sandbox Code Playgroud)

我会得到一个例外,因为Django希望块只出现一次:

在/的TemplateSyntaxError

名称为"title"的'block'标记不止一次出现

一个快速而肮脏的解决方案是将块标题复制到title1title2:

# blog.html
{% …
Run Code Online (Sandbox Code Playgroud)

django dry django-templates

122
推荐指数
8
解决办法
4万
查看次数

标签 统计

django ×1

django-templates ×1

dry ×1