我正在尝试使用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/
时,错误:
TemplateDoesNotExist位于/
博客/ index.html中
就在它下面,在模板加载器事后:
中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')
,就像在教程中一样,但是同样的教程没有/
路径的任何视图,我希望在那里有一个。
修改
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',
],
},
},
]
答案 0 :(得分:5)
您必须将blog
应用添加到项目中,方法是将其添加到INSTALLED_APPS
设置中:
INSTALLED_APPS = [...,
'blog']
否则模板加载器将不会处理blog
目录,因为它不被视为应用程序。