对一个已存在的被包含模板仍然出现模板不存在错误

前端开发 2026-07-12

我在 realestate/settings.py 里有这些模板设置:

TEMPLATES = [
    {
        "BACKEND": "django.template.backends.django.DjangoTemplates",
        "DIRS": [BASE_DIR / "templates"],
        "APP_DIRS": True,
        "OPTIONS": {
            "context_processors": [
                "django.template.context_processors.request",
                "django.contrib.auth.context_processors.auth",
                "django.contrib.messages.context_processors.messages",
            ],
        },
    },
]

以及这个模板片段,它引用了来自不同文件夹的另一个模板片段。

templates\partials\listings\detail\user_card.html

{% load static %}
{# Card #}
<div class="card mb-3">
  <div class="row row-cols-sm-2 row-cols-md-1 g-0">
    {# Card image #}
    <div class="col">
      <img class="rounded-circle w-50 mx-auto my-3" src="{% static '/images/avatar-3814081_640.png' %}" alt="Avatar">
    </div>

    {# Card body #}
    <div class="col">
      <div class="card-body">
        <a class="text-decoration-none" href="{% url 'user-detail' user.id %}">
          <h2 class="card-title fw-bold">{{ user }}</h2>
        </a>
      </div>
    </div>
  </div>

  {% include "../../users/detail/footer" %} {# template already exists #}
</div>

我在 TemplateDoesNotExist 上遇到了 partials/users/detail/footer,但它已经存在。甚至连 {% include "partials/users/detail/footer" %} 也不起作用。

文件夹结构:
模板文件夹结构

解决方案

由于Django会严格检查文件名,因此你必须放置 partials/user/detail/footer.html,因为它正在寻找HTML文件,而不是文本文件。若本解答对你有帮助,请勾选复选框并点个赞。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章