首页 文章

在/ blog / index.html上的TemplateDoesNotExist

提问于
浏览
2

我正在尝试使用Django版本1.9.x创建我自己的项目,但我不能使 / 的索引页面工作 .

这是我的文件夹结构:

rxe/
    urls.py
    wsgi.py
    settings.py
blog/
    migrations/
    static/
        blog/
            css/
            js/
            img/
    templates/
        blog/
           index.html
    admin.py
    models.py
    tests.py
    urls.py
    views.py
manage.py

rxe/urls.py

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'$', include('blog.urls')), 
]

blog/urls.py

from django.conf.urls import url

from . import views

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

blog/views.py

from django.http import HttpResponse, HttpResponseRedirect
from django.views.generic import TemplateView

class IndexView(TemplateView):
    template_name = 'blog/index.html'

访问 localhost:8000/ 时,错误:

在/ blog / index.html上的TemplateDoesNotExist

在它下面,在 Template-loader postmortem

django.template.loaders.app_directories.Loader:/usr/local/lib/python2.7/dist-packages/Django-1.9.4-py2.7.egg/django/contrib/admin/templates/blog/index . html(源不存在)django.template.loaders.app_directories.Loader:/usr/local/lib/python2.7/dist-packages/Django-1.9.4-py2.7.egg/django/contrib/auth/ templates / blog / index.html(源不存在)

如果我返回一个 HttpResponse('Hello') ,就像在教程中一样,但是这个教程没有 / 路径的任何视图,我想要一个 .

Edit

rxe/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',
        ],
    },
    },
]

1 回答

  • 5

    您必须将 blog 应用程序添加到项目中,方法是将其包含在 INSTALLED_APPS 设置中:

    INSTALLED_APPS = [...,
                      'blog']
    

    否则模板加载器将不会处理 blog 目录,因为它不被视为应用程序 .

相关问题