模板不存在于Django中

时间:2015-08-04 11:58:23

标签: django django-templates

我正在尝试在函数内部渲染模板。以下是我的settings.py

TEMPLATES = [
{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': ['E:\Django\googlemaps\templates\waypoints'],
    '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',
        ],
    },
},

和views.py

from django.shortcuts import render_to_response

def index(request):
   'Display map'
    return render_to_response('waypoints\index.html')

以下是我运行服务器时的错误。请帮助我。

    http://dpaste.com/0SZAR4H

3 个答案:

答案 0 :(得分:0)

您尝试访问的模板是根据路径:

waypoints\index.html

我认为应该是

waypoints/index.html

答案 1 :(得分:0)

问题是\t中的\templates被视为制表符。

最简单的解决方法是始终使用正斜杠。即使在Windows上,这也可以。

'DIRS': ['E:/Django/googlemaps/templates/waypoints'],

您的其他选择是:

  • 使用两个反斜杠,即\\t
  • 使用r''前缀,即r'E:\Django\googlemaps\templates\waypoints'

答案 2 :(得分:0)

我刚刚用

替换了上面显示的settings.py.
TEMPLATE_DIRS = (
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
os.path.join(os.getcwd(), "templates"),

) 它运作良好。

但我想知道是什么产生了影响。