dvt*_*tan 4 django django-templates
这是我的一般结构base.html:
<html>
<head>
</head>
<body class="noscroll">
<nav class="navbar navbar-static-top navbar-dark bg-inverse">
</nav>
{% block content %}
{% endblock content %}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
在某些页面上,我想要的noscroll是基本上overflow-y: hidden;但我也有需要滚动的页面的类.我可以将导航栏移动到它自己的片段并插入,但这样的方法似乎不能令人满意.或者我可以分开base_noscroll.html,但这可能会导致不一致,所以我必须嵌套两个模板,这将再次令人不满意.
只需添加具有默认内容的覆盖块:
<body class="{% block body_class %}noscroll{% endblock %}">
Run Code Online (Sandbox Code Playgroud)
那么noscroll类就在那里,或者你可以在扩展的模板中覆盖它base.html.Django模板块几乎可以放在任何地方; 他们不必包装整个HTML标签.
如果你发现自己重复覆盖了这个块,你总是可以添加另一个扩展base.html并覆盖的模板,然后扩展它:
# noscroll.html
{% extends 'base.html' %}
{% block body_class %}{# empty to override #}{% endblock %}
Run Code Online (Sandbox Code Playgroud)
然后在后续页面中,您可以扩展任一模板.您需要多大的灵活性始终取决于您.
| 归档时间: |
|
| 查看次数: |
1245 次 |
| 最近记录: |