我可以为我的项目,所有的应用程序可以借鉴基本模板? 还是我必须要为每个应用创建一个基本模板? 如果我想他们是一样的我只是将它们复制?
Answer 1:
你当然可以。 一个base.html文件的一个简单的例子
<!DOCTYPE html>
<html>
<head>
<title>My Project</title>
</head>
<body>
{% block content %}{% endblock content %}
</body>
</html>
说你有一个名为MYAPP与view.html网页应用程序,
{% extends "base.html" %}
{% block content %}
<h2>Content for My App</h2>
<p>Stuff etc etc.</p>
{% endblock content %}
花一些时间来阅读文档以了解更多信息
Answer 2:
是的,你完全可以做到这一点。 通过使用extends
和include
在你的Django模板模板标签。
我开始学习Django和最近想通了这一点。 我的代码是在Github上 ,如果你有兴趣考虑看看我是如何构建Django模板从继承base.html
,然后include
常见的东西,如导航栏和页眉,页脚等。
Answer 3:
有一个在最后回答一些问题,在这里是正确的; 你必须有base.html文件是这样的:
{% load staticfiles %}
<!DOCTYPE html>
<html>
<head>
<title>My Project</title>
</head>
<body>
{% block content %}{% endblock %}
</body>
</html>
也为index.html的
{% extend "appname/base.html" %}
{% block content %}
<h1>test</h1>
{% endblock %}
Answer 4:
是的,你可以为你的项目,该项目的其他应用程序将延长一个基本模板。 检查如何@Kenny_Shen答案。
只是想补充两个音符,如果你担心的应用程序隔离。
如果你不想让你的应用程序依靠“base.html文件”命名约定,你可以用一个变量注入实际名称,看一看: 如何使用Django的模板扩展变量? 有关详细信息,
你可能想命名的应用程序模板块到别的东西,而不是“内容”,以避免与其他应用程序冲突。
文章来源: Django project base template