Python &引用;Can';“找不到模板”;Django中的错误

Python &引用;Can';“找不到模板”;Django中的错误,python,django,Python,Django,我刚开始学Django。我遵循了Django网页上的指南,但仍然感觉不明白。所以我决定自己做一些类似的东西。基本上,我制作的投票系统和指南中的相似,但有点不同。因此,我开始阅读一些文档和指南文本。我创建了一个通用的listview来显示index.html,它将显示投票列表。” 这是我的观点代码: class IndexView(generic.ListView): template_name = 'Vote/index.html' model = Type def g

我刚开始学Django。我遵循了Django网页上的指南,但仍然感觉不明白。所以我决定自己做一些类似的东西。基本上,我制作的投票系统和指南中的相似,但有点不同。因此,我开始阅读一些文档和指南文本。我创建了一个通用的listview来显示index.html,它将显示投票列表。”

这是我的观点代码:

class IndexView(generic.ListView):
    template_name = 'Vote/index.html'
    model = Type

    def get_queryset(self):
        return Type.objects.order_by('-pub_date')
以下是我的index.html代码:

{% load staticfiles %}
    <link rel="stylesheet" type="text/css" href="{% static 'Vote/style.css' %}" />
{% block content %}
    <h2>Votings</h2>
    <ul>
        {% for voting in object_list %}
            <li>{{ voting.Type_name }}</li>
        {% empty %}
            <li>Sorry, there are not votes.</li>
        {% endfor %}
    </ul>
{% endblock %}
URL代码:

from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^$', views.IndexView.as_view(), name='index'),
    #url(r'^(?P<pk>[0-9]+)/results/$', views.ResultsView.as_view(), name='results'),
   # url(r'^(?P<pk>[0-9]+)/voting/$', views.VoteView.as_view(), name='voting'),
]
这是我的目录:

最后是错误:

TemplateDoesNotExister at/Vote/

Vote/index.html,Vote/type_list.html请求方法:获取请求 URL:Django版本:1.8.2异常 类型:TemplateDoesNotExist异常值:Vote/index.html, 投票/键入_list.html异常 位置:C:\Users\Vato\Envs\django\u test\u env\lib\site packages\django\template\loader.py 在select_模板中,第76行 可执行文件:C:\Users\Vato\Envs\django\u test\u env\Scripts\python.exe Python版本:2.7.10 Python路径: ['C:\Users\Vato\PycharmProjects\Project3', 'C:\Users\Vato\PycharmProjects\Project3', 'C:\windows\SYSTEM32\python27.zip', 'C:\Users\Vato\Envs\django\u test\u env\DLLs', 'C:\Users\Vato\Envs\django\u test\u env\lib', 'C:\Users\Vato\Envs\django\u test\u env\lib\plat win', 'C:\Users\Vato\Envs\django\u test\u env\lib\lib tk', 'C:\Users\Vato\Envs\django\u test\u env\Scripts', 'C:\Python27\Lib','C:\Python27\DLLs', 'C:\Python27\Lib\Lib-tk', 'C:\Users\Vato\Envs\django\u test\u env', 'C:\Users\Vato\Envs\django\u test\u env\lib\site packages']

它需要两个模板,一个是我已经编写的index.html,另一个是type_list.html

我认为这个错误是由于缺少类型为_list.html的文件造成的,但我不明白django为什么要求我提供这个模板我在代码中的什么地方指定需要它?我如何修复它,以便程序从数据库中获得投票并将其显示在索引中?

正如我所研究的,并且据我所知,第二个模板是因为模型(类型)而被查找的——小写和_列表由于某种原因而结束。它是自动生成的,但我不明白

我不确定在我的代码中,因为很多是从文档中复制的,但是我认为它应该在没有第二个(type_list)模板的情况下工作。抱歉发了这么长的邮件。思想不应该遗漏任何代码


如果您对更好地学习django有任何建议,请随时发表评论。

您有
'DIRS':[BASE\u DIR],
但您的模板不在BASE\u DIR中,而是在BASE\u DIR/templates中。你应该:

'DIRS': [os.path.join(BASE_DIR, 'templates')],

你在已安装的应用程序列表中添加了应用程序吗?是的,我确实添加了。它成功了!谢谢!你有学习django的窍门吗?
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR],
        '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',
            ],
        },
    },
]
'DIRS': [os.path.join(BASE_DIR, 'templates')],