【问题标题】:How can I fix this Django HTML template bug?如何修复这个 Django HTML 模板错误?
【发布时间】:2020-12-09 12:48:27
【问题描述】:

我在 Django HTML 模板中遇到了一个奇怪的错误,无论我做什么,一切似乎都放在了正文中。此外,它添加了一些不可见的文本,使整个页面有一点偏移。

How my browser displays the Sourcecode when I inspect the elements

How the pages sourcecode looks when I open it inside the browser

第二张图片是它的样子。

这就是我的实际代码的样子:

base.html:

{% block content %}
{% endblock content %}

home.html:

<!DOCTYPE html>
{% extends "blog/base.html" %}
{% block content %}
<html>
    <head>
        <meta charset="UTF-8" name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Name</title>
    </head>
    <body>
        <p>Text</p>
    </body>
</html>
{% endblock %}

这只发生在我使用继承时。当我将所有代码放在一个 .html 文件中时,它会按原样显示。

我试图移动块部分,例如,除了 base.html 文件中的段落之外的所有内容,但它没有改变任何内容。

我希望有人可以帮助我。

这是我在stackoverflow上的第一篇文章,请多多关照。

【问题讨论】:

    标签: python html django templates


    【解决方案1】:

    这个问题似乎没有为我提供足够的信息,但据我所知,问题在于:

    1. 加载静态
    2. 还有你的块内容

    所以你的代码应该是这样的

    {% load static %}
    <!DOCTYPE html>
    {% extends "blog/base.html" %}
    <html>
    <head>
    <meta charset="UTF-8" name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Name</title>
    </head>
    <body>
    {% block content %}
    <p>Text</p>
    {% endblock %}
    </body>
    </html>
    

    【讨论】:

    • 感谢您的回答。我都试过了,都没有成功。
    • 我想我知道为什么它没有帮助:1.加载静态可能没有帮助,因为我的代码中没有静态元素。 2. Django HTML 模板继承以某种方式工作,您的派生文件复制超级文件,并且只有块内的代码被覆盖。我不完全知道我可以提供哪些其他信息。我正在使用标准的 Visual Studio Community 19 生成的 Django 项目,除了添加一个新的应用程序以及 urls.py 和 view.py 文件之外,我没有做太多的改变。
    • 更改块内容的位置也不起作用?
    • 不。就像有一个不可见的固定元素 top: 0;元素高于一切。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-01
    • 2021-09-12
    • 2013-09-04
    • 2020-06-17
    • 2014-07-18
    相关资源
    最近更新 更多