Django TemplateDoesNotExist在/ x / base.html

时间:2017-07-21 10:34:13

标签: django django-templates

django 1.11.3

我有一个模板不存在错误,据我所知,我的模板目录设置正确。 fleetdb是我项目中的应用程序,具有以下目录结构:

+ fleetdb
     +templates
         +fleetdb
              -index.html
              -base.html
               (other html pages)

一切正常,直到我尝试{%extends' base.html'在我的索引里面如下:

{% extends 'base.html' %}

{% load static %}

<link rel="stylesheet" type="text/css" href="{% static 'fleetdb/lists.css' %}" />


{% if vehicles_list %}
<ul>
    {% for vehicle in vehicles_list %}
    <li><a href="{% url 'fleetdb:detail' vehicle.id %}">{{ vehicle.unit }} {{ vehicle.make }} {{ vehicle.vmodel }} {{vehicle.color}}</a></li>
</ul>
    {% endfor %}
{% else %}
<p>No Vehicles are available.</p>
{% endif %}

在我的settings.py中,我有一个打印(TEMPLATES)语句,这一切似乎都在寻找正确的区域,但没有找到base.html。在pastebin上跟踪:https://pastebin.com/raw/MQDAip64

方面问题:如何从其他应用继承模板,是否像{% url 'fleetdb:detail' }中的网址标记一样?

1 个答案:

答案 0 :(得分:6)

尝试,

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

Django默认在templates子目录下查找模板。您已将自己保存在fleetdb目录下的templates文件夹下。

建议:如果要为多个应用程序使用通用模板,请将其放在根项目文件夹中的templates目录下。

+project_folder
    +app1
        +templates
        -----
    +app2
        +templates
        -----
    +templates
        -your-common-templates
        -here-

然后,您可以从项目中的任何应用访问它们。