我有一个用Django构建的网站。
问题:我们当前有超过50个页面,并且每个页面上的页脚HTML代码完全相同。在对页脚进行一些更改时,我已经厌倦了必须编辑所有这些页面的事情。
可能的解决方案:将页脚直接插入django基本页面中。
潜在的问题:如果我在页脚中插入页脚,则页脚和标记之间的所有单个JS脚本都会丢失-显然这些脚本是特定于页面的。那么在页脚之前可以有特定的JS脚本吗?这样一来,页脚就可以轻松轻松地进入基础,但是我不确定是否可以这样做。在页脚之前移动脚本会出错吗?
谢谢
答案 0 :(得分:1)
是的,您可以在HTML页脚上方放置脚本。这有一个潜在的缺点,那就是您必须等待脚本被提取并在呈现页脚HTML之前运行,但是除非脚本很大,否则这不太可能成为问题。
但是,有一个简单的解决方案可以避免这种情况。只需在基本模板的底部添加类似的内容
<!-- footer HTML -->
{% block page_js %}{% endblock %}
</body>
</html>
然后在每个单独的页面中可以包含类似的内容(根据需要包含尽可能多的页面内脚本和/或外部加载的脚本):
{% block page_js %}
<script>// some custom JS for this page only</script>
<script src="js/for/this/page.js"></script>
{% endblock %}
答案 1 :(得分:0)
您可以将页脚HTML放入其自己的文件中,然后在需要页脚HTML出现的模板中添加{% include 'footer.html' %}
。这样,将来您只需要在希望更改页脚中的内容时才编辑footer.html。
答案 2 :(得分:0)
假设您的base.html
对所有其他页面都是公用的。您有一些所有页面都通用的JS。
因此,您可以调整base.html
这样的内容:
<body>
<div class="footer">
Footer info
</div>
<!---here include all JS-->
</body>