【问题标题】:Why Django is encapsulating all the content inside the Body Tag为什么 Django 将所有内容封装在 Body Tag 中
【发布时间】:2020-11-03 09:53:31
【问题描述】:

我有一个问题,我用一个简单的例子来重现。

无论我做什么,我总是有一个页面,其中包含我的内容(js、页脚等),就像附加的图片一样。

谁能帮我解决这个问题?谢谢。

如果我从 base.html 中删除 body 标记,django 会包含一个封装剩余内容的 body 标记。

base.html:

<!DOCTYPE html>

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="{% static 'css/styles.css' %}">
</head>
<body>
    {% block content %}

    {% endblock content %}
</body>

<footer>
    <h3>This is the footer</h3>
</footer>

<script src="{% static 'js/jquery-3.5.1.min.js' %}"></script>
<script src="{% static 'bootstrap-4.4.1/js/bootstrap.min.js' %}" ></script>

</html>

home.html:

{% extends 'base.html' %}

{% block content %}
<div>
    <h1>This is the home body</h1>
</div>
{% endblock content %}

渲染结果:

【问题讨论】:

    标签: html django django-views django-templates


    【解决方案1】:

    这不是 django 问题。

    html标签里面只能有headbody标签。你的 footerscript 应该放在 body 里面。

    您的网络浏览器检测到您的文档结构无效并已更正。

    如果您检查页面的 HTML 源代码(而不是使用开发工具),您将看到模板在您编写时呈现。

    所以将你所有的页面内容移动到body标签中。

    【讨论】:

    • 你是对的。我正在考虑在同一级别而不是在正文内部的页眉正文页脚之类的结构。所以在 body close 之前也需要包含 javascript。我误解了。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2019-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    相关资源
    最近更新 更多