在/ home /的TemplateDoesNotExist - 但是,它在那里

时间:2015-01-30 03:34:31

标签: python django

项目结构:

sitename
    db.sqlite3
    home
        __init.py
        admin.py
        models.py
        static
            home.html
            services.html
            contact.html
        views.py
    manage.py
    mysite
        __init.py
        settings.py
        urls.py
        wsgi.py

这是在我的settings.py中:

BASE_DIR = os.path.dirname(os.path.dirname(__file__))
TEMPLATE_DIRS = (os.path.join(BASE_DIR, 'static'))

这是在我的views.py中:

from django.shortcuts import get_object_or_404, render, render_to_response
from django.http import HttpResponseRedirect, HttpResponse
from django.core.urlresolvers import reverse
from django.views import generic
from django.utils import timezone
import datetime

from home.models import Home, Services, Contact

import mysite.urls


def Admin(request):
    pass

def Home(request):
    return render_to_response(
        template_name = 'home.html',
        )

def Services(request):
    pass

我尝试在home.html周围添加斜杠,尝试更改settings.py中的一些内容。到目前为止没有好处。有什么想法/建议吗?

1 个答案:

答案 0 :(得分:1)

您忘记添加home部分路径。并添加逗号,以使TEMPLATE_DIRS成为元组:

TEMPLATE_DIRS = (os.path.join(BASE_DIR, 'home', 'static'), )

但无论如何你不应该这样做。模板应位于templates目录中。将home/static重命名为home/templates,即使没有设置TEMPLATE_DIRS,所有内容都能正常运行。

也不要使用render_to_response快捷方式。将此通话替换为render()