Django: переопределение наследования шаблона при включении - PullRequest
2 голосов
/ 19 декабря 2010

Например, у меня есть top.html, который будет включен из base.html.Как переопределить содержимое top.html после включения?

1 Ответ

2 голосов
/ 19 декабря 2010

Вы не понимали идеологию шаблонов.
Правильный путь - создать base.html следующим образом:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Some app - {% block header %}{% endblock %}</title>
    </head>
    <body>
        <h1>{% block title %}Default title{% endblock %}</h1>
        {% block content %}{% endblock %}
    </body>
</html>

И затем в page.html вы можете переопределить заголовок, например:

{% extends "base.html" %}
{% block title %}Some page{% endblock %}
{% block header %}Overriden header{% endblock %}
{% block content %}
    Some content
{% endblock %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...