Django无法识别html文件中的{% endblock %}标记[已关闭]

iqxoj9l9  于 2022-11-19  发布在  Go
关注(0)|答案(2)|浏览(132)

**已关闭。**此问题为not reproducible or was caused by typos。目前不接受答案。

这个问题是由一个打字错误或一个无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
8天前关闭。
Improve this question
我在尝试运行Django项目时遇到这个错误:“第7行的块标记无效:“endblock”。是否忘记注册或加载此标记?
我正在尝试制作一个基本模板(base.html),并在我的html文件(index.html)中使用它。我的Django项目的名称是“mysite”,我的Django项目中的应用程序的名称是“myapp”看起来Django无法识别我的{% endblock %}标记,但我不知道为什么。
这是基本模板文件(base.html):

{% load static %}
<html lang="en">
<head>
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
        <link rel="stylesheet", href="{% static 'myapp/style.css' %}">
    <title>Document</title>
</head>
<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
          <a class="navbar-brand" href="#">Navbar</a>
          <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
          </button>

          <div class="collapse navbar-collapse" id="navbarSupportedContent">
            <ul class="navbar-nav mr-auto">
              <li class="nav-item active">
                <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="#">Link</a>
              </li>
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                  Dropdown
                </a>
                <div class="dropdown-menu" aria-labelledby="navbarDropdown">
                  <a class="dropdown-item" href="#">Action</a>
                  <a class="dropdown-item" href="#">Another action</a>
                  <div class="dropdown-divider"></div>
                  <a class="dropdown-item" href="#">Something else here</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link disabled" href="#">Disabled</a>
              </li>
            </ul>
            <form class="form-inline my-2 my-lg-0">
              <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
              <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
            </form>
          </div>
        </nav>

        {% block body %}

        {% endblock %}
</body>
</html>

下面是index.html文件:

{% extends 'myapp/base.html' %}

{% block body %]
{% for book in book_list %}
    <a href="{% url 'myapp:detail' book.id %}"> {{book.name}} </a> <br>
{% endfor %}
{% endblock %}

这是我的目录设置:

有人知道怎么解决这个问题吗?
我已尝试更改{% endblock %}标记,但未成功。

unhi4e5o

unhi4e5o1#

不是{% block body %},但您应该写入{% block content %}

kse8i1jr

kse8i1jr2#

看起来您使用的是括号“]”,而不是花括号“}”第3行index.html

{% extends 'myapp/base.html' %}

{% block body %}<!--the problem was here-->
{% for book in book_list %}
    <a href="{% url 'myapp:detail' book.id %}"> {{book.name}} </a> <br>
{% endfor %}
{% endblock %}

相关问题