所以我刚开始读一本关于Django的书(面向初学者),并且遇到了以下代码片段:
<header>
<a href="{% url 'home' %}">Home</a> | <a href="{% url 'about' %}">About</a>
</header>
{% block content %}
{% endblock content %}
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释{% block content %}和的用处{% endblock content %}吗?提前非常感谢您!
mar*_*er_ 17
从某种意义上说,这就是模板的力量的来源。
您可以创建模板的层次结构,因此从base.html上面可能会开始;
<body>
{% block content %}
{% endblock content %}
</body>
Run Code Online (Sandbox Code Playgroud)
然后您可以创建任何其他模板,home.html例如,并执行类似的操作;
{% extends "base.html" %}
{% block content %}
<h1>Welcome</h1>
<p>This is the home page</p>
{% endblock content %}
Run Code Online (Sandbox Code Playgroud)
然后你会引用home.html在Django和它会包括来自标记base.py与所限定的含量home.html。
这是基础知识,但是如果您使用块将一些模板放在一起,您就会找到它。
block 用于覆盖模板的特定部分。
在您的情况下,您有一个名为的块content,应该被继承自此模板的子项覆盖。
从Django Docs的示例中
要扩展的模板,命名为 base.html
<head>
<link rel="stylesheet" href="style.css">
<title>{% block title %}My amazing site{% endblock %}</title>
</head>
Run Code Online (Sandbox Code Playgroud)
覆盖子模板
{% extends "base.html" %}
{% block title %}My amazing blog{% endblock %}
Run Code Online (Sandbox Code Playgroud)
儿童会覆盖“我的奇妙网站”,然后显示“我的奇妙博客”
| 归档时间: |
|
| 查看次数: |
11823 次 |
| 最近记录: |