对不起我的Django术语不合格,我刚刚开始学习整个框架。我的base.html定义了我的所有CSS和JS减速以及我网站的标准布局。
它包含我的
{% block content %}{% endblock %}
我可以在其中插入我的其他模板,例如index.html。但是,如果我插入index.html,内容将使页面大于屏幕高度的100%,所以当我们向下滚动我用base.html设置的背景颜色时,不会扩展到覆盖index.html的所有背景。
我用一些CSS声明了base.html背景
#baseBody{
background-color: blue;
height: 100%;
}
如果我将它设置为> 100%但是我想设置它"动态"我可以获得延伸传递的高度这样它就可以覆盖任何模板。
答案 0 :(得分:0)
虽然听起来像HTML / CSS可能导致您遇到的问题,但我认为您可能也误解了Django模板系统。例如,如果您来自php背景,那么您将包含所需的文件:
include('/path/to/some_file.php');
然而,使用Django(如果需要,您确实可以包含其他模板文件),您可以扩展其他模板。所以你可以有一个'base.html'文件,它包含你认为在应用程序中是全局的任何东西,比如页眉或页脚。然后,您可以使用另一个用于此特定视图的模板文件,例如“page.html”。在您的视图中,您将使用以下内容呈现“page.html”文件,该文件将扩展您的“base.html”:
{% extends 'base.html' %}
这种方法有助于保持视图中的视图逻辑而不是模板,让Django模板引擎更有效地渲染模板