【问题标题】:Template does not exist - Django模板不存在 - Django
【发布时间】:2015-12-20 14:09:17
【问题描述】:

我正在尝试通过扩展 base.html 创建一个 index.html。问题是,Django 说没有这样的模板。它找不到它。我已经尝试了更多路径,但都没有奏效。

这是我的项目结构:

上传/模板/上传/index.html:

{% extends 'base.html' %}
{% block content %}
    <form action="/process_text/" method="post" enctype="multipart/form-data">{% csrf_token %}
        {{ lang_drop_down_form }}
        <br>
        {{ text_area_form }}
        {{ file_upload_form }}
        <input align="center" type="submit" value="upload">
    </form>

    {% if user.is_authenticated %}
    <p>Hello {{ user.name }}</p>
    {% endif %}
{% endblock %}

uploading/templates/uploading/base.html:(jumbotron 引导模板)

.
..
...
    <!-- Main jumbotron for a primary marketing message or call to action -->
    <div class="jumbotron">
      <div class="container">
        {% block content %}
        {% endblock %}
      </div>
    </div>
...
..
.

还有一个例外:

TemplateDoesNotExist at /
mysite/uploading/templates/uploading/base.html
Request Method: GET
Request URL:    http://127.0.0.1:8000/
Django Version: 1.8.7
Exception Type: TemplateDoesNotExist
Exception Value:    
mysite/uploading/templates/uploading/base.html
Exception Location: C:\Python27\lib\site-packages\django\template\engine.py in find_template, line 146
Python Executable:  C:\Python27\python.exe
Python Version: 2.7.10
Python Path:    
['C:\\Users\\Milano\\PycharmProjects\\mysite',
 'C:\\Windows\\SYSTEM32\\python27.zip',
 'C:\\Python27\\DLLs',
 'C:\\Python27\\lib',
 'C:\\Python27\\lib\\plat-win',
 'C:\\Python27\\lib\\lib-tk',
 'C:\\Python27',
 'C:\\Python27\\lib\\site-packages',
 'C:\\Python27\\lib\\site-packages\\win32',
 'C:\\Python27\\lib\\site-packages\\win32\\lib',
 'C:\\Python27\\lib\\site-packages\\Pythonwin']
Server time:    Sun, 20 Dec 2015 15:08:11 +0100

你知道该怎么做吗?

【问题讨论】:

  • 在您的 settings.py 中应该有一个用于模板的文件夹的名称。那是哪一个?
  • 只有这个: TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': {'context_processors':['django.template.context_processors.debug','django.template.context_processors.request','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages', ]、}、}、]

标签: python django templates path


【解决方案1】:

您需要将您的扩展标签更改为:

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

模板位于uploading/templates/uploading/base.html。应用模板目录为uploading/templates,所以在Django中引用时需要使用余数uploading/base.html

【讨论】:

    猜你喜欢
    • 2017-01-23
    • 2010-12-27
    • 2021-01-07
    • 2015-12-10
    • 2019-08-08
    • 1970-01-01
    • 2015-07-23
    相关资源
    最近更新 更多