Django使用include设置默认值

时间:2018-05-16 18:26:16

标签: django python-3.x django-templates

我有我的基础html:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>default value</title>
        <meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>
    </head>

<body >

    {% block content %}{% endblock %}

</body>
</html>

我有我的模板:

{% extends "base.html" %}

{% block content %}

我希望能够重写内容 <head>标记。如果没有头部内容,则使用默认头标记。我该怎么做呢?例如,在某些页面上,我想使用其他元标记和不同的标题。但是如果没有指定<head>标签,我需要默认的标题和元标记

1 个答案:

答案 0 :(得分:1)

base template内有{% block %}{% endblock %}的某些部分,实际上有一些默认内容。

<head>
    <meta charset="UTF-8">
    <title>{% block title %}default value{% endblock title %}</title>
    {% block meta %} <!-- default meta -->
    <meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>
    {% endblock %}
</head>

当你扩展base.html时,你只需要调用这些块..

如果您要覆盖其中一个标记,只需调用标记:

{% block title %}I destroy the default title {% endblock %}
{% block meta %}I destroy the default tag {% endblock %}