Python TemplateDoesNotExister位于/books/index.html

Python TemplateDoesNotExister位于/books/index.html,python,django,Python,Django,我正试图用Django版本1.10创建自己的项目,但运行服务器时遇到了这样的异常:TemplateDoesNotExist at/books/index.html 这是我的文件夹结构: mysite/ books/ migrations template/ books/ index.html __init__.py admin.py apps.py models.py tests.py urls.py

我正试图用Django版本1.10创建自己的项目,但运行服务器时遇到了这样的异常:TemplateDoesNotExist at/books/index.html

这是我的文件夹结构:

mysite/
  books/
    migrations
    template/
      books/
        index.html
    __init__.py
    admin.py
    apps.py
    models.py
    tests.py
    urls.py
    views.py
  mysite/
    __init__.py
    dbsqlite3
    settings.py
    urls.py
    wsgi.py
  tamplates/
    base_books.html
    base.html
  dbsqlite3
  manage.py
settings.py:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'books',
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

ROOT_URLCONF = 'mysite.urls'

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,'templates')],
        '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',
            ],
        },
    },
]

WSGI_APPLICATION = 'mysite.wsgi.application'
mysite/books/url.py:

from django.conf.urls import url, include
from books import views

urlpatterns = [
    url(r'^$', views.BooksModelView.as_view(), name='index'),

    url(r'^books/$', views.BookList.as_view(), name='books_list'),
    url(r'^author/$', views.AuthorList.as_view(), name='author_list'),
    url(r'^publisher/$', views.PublisherList.as_view(), name='publisher_list'),

    url(r'^books/(?P<pk>\d+)/$', views.BookDetail.as_view(), name='detail_list'),
    url(r'^author/(?P<pk>\d+)/$', views.AuthorDetail.as_view(), name='author_detail'),
    url(r'^publisher/(?P<pk>\d+)/$', views.PublisherDetail.as_view(), name='publisher_detail'),
]
from django.conf.urls import url, include
from django.contrib import admin

urlpatterns = [
    url(r'^books/', include('books.urls', namespace="books")),
    url(r'^admin/', admin.site.urls),
]
views.py:

from django.views.generic.base import TemplateView
from django.views.generic import ListView
from django.views.generic import DetailView
from books.models import Book, Author, Publisher

# TemplateView
class BooksModelView(TemplateView):
    template_name = 'books/index.html'

    def get_context_data(self, **kwargs):
        context = super(BooksModelView, self).get_context_data(**kwargs)
        context['object_list'] = ['Book', 'Author', 'Publisher']
        return context

#--- ListView
class BookList(ListView):
    model = Book

class AuthorList(ListView):
    model = Author

class PublisherList(ListView):
    model = Publisher

#--- DetailView
class BookDetail(DetailView):
    model = Book

class AuthorDetail(DetailView):
    model = Author

class PublisherDetail(DetailView):
    model = Publisher
错误消息:

TemplateDoesNotExister at/books/books/index.html请求方法:GET 请求URL:Django版本:1.10 异常类型:TemplateDoesNotExist异常值:
books/index.html异常位置:C:\Program 中的Files\Python36\lib\site packages\django\template\loader.py 选择\u模板,第53行Python可执行文件:C:\Program Files\Python36\python.exe python版本:3.6.1


有人能帮我找出这个问题吗?提前谢谢。

将文件夹从
书籍/模板
重命名为
书籍
下的
书籍/模板

重命名为
模板
?啊,我错了!谢谢你的帮助!