我的 Django 应用程序中有大约 12 个不同的 HTML 页面。我正在寻找一种在 1 个模板文件中制作标题的方法,然后将该文件添加到我需要标题的每个 HTML 模板中。
我尝试遵循 Django 的模板文档,但它对我来说不够简洁。谁能帮我进一步分解一下?
我基本上从方 block 1 开始...我当时可以加载 header ,但没有附加 CSS。我已经删除了代码,因为我不想搞砸任何事情。
有两种可能的方法可以做到这一点。
<强>1。制作一个外部文件并将所有代码插入内部文件。这使用扩展。
外部文件,base.html
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
rel = "stylesheet">
</head>
<style>
body { padding-top: 70px;
font-family: Poppins;
}
</style>
<body>
<navbar> This is your Navbar. Navbar does assume the use of Bootstrap</navbar>
<p> You can also put anything else you want on every page here.</p>
<main role="main" class="container">
{% block content %}
{% endblock %}
</main>
</div>
</body>
</html>
内部文件,page.html
{% extends 'base.html' %}
{% block content %}
<p>This is the stuff you want to be unique to the page. </p>
{% endblock %}
此方法的缺点是您实际上是将一个页面放在另一个页面中,而且灵 active 稍差。
<强>2。将代码块包含在 HTML 文件中。这使用包括。
要添加页眉的页面,page.html
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
rel = "stylesheet">
</head>
<style>
body { padding-top: 70px;
font-family: Poppins;
}
</style>
<body>
{% include "header.html" %}
<main role="main" class="container">
<p> Whatever you want on your page</p>
</main>
</div>
</body>
</html>
标题的实际代码,header.html
<div class="header">
<p>My supercool header</p>
</div>
Include 会在您放置 include 语句的地方插入该 HTML 代码块。
我是一名优秀的程序员,十分优秀!