这是我的一般结构base.html
:
{% block content %} {% endblock content %}
在某些页面上,我想要的noscroll
是基本上overflow-y: hidden;
但我也有需要滚动的页面的类.我可以将导航栏移动到它自己的片段并插入,但这样的方法似乎不能令人满意.或者我可以分开base_noscroll.html
,但这可能会导致不一致,所以我必须嵌套两个模板,这将再次令人不满意.
只需添加具有默认内容的覆盖块:
那么noscroll
类就在那里,或者你可以在扩展的模板中覆盖它base.html
.Django模板块几乎可以放在任何地方; 他们不必包装整个HTML标签.
如果你发现自己重复覆盖了这个块,你总是可以添加另一个扩展base.html
并覆盖的模板,然后扩展它:
# noscroll.html {% extends 'base.html' %} {% block body_class %}{# empty to override #}{% endblock %}
然后在后续页面中,您可以扩展任一模板.您需要多大的灵活性始终取决于您.