Django找不到模板

Chr*_*r H 5 python django django-templates

我知道很多人都问过这个问题,但是尽管硬编码到我的模板目录的路径,我似乎无法让Django找到我的模板.

这是settings.py

TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
#django.template.loaders.eggs.Loader',
)

TEMPLATE_DIRS = (
    "/Users/full/path/to/marketing_site/templates",
)
Run Code Online (Sandbox Code Playgroud)

这是views.py文件:

def static (request, feature_page):

# this will get the appropriate feature page template.
template = loader.get_template('features/pricing.html')
c = RequestContext(request,{
})
return HttpResponse(template.render(c))
Run Code Online (Sandbox Code Playgroud)

主文件夹内是templates文件夹和app文件夹.我用来将应用程序放在与settings.py相同的文件夹中,但是看起来django 1.4已经更改了默认的文件结构.

我的错误是:

TemplateDoesNotExist at /features/pricing 

Django tried loading these templates, in this order:
Using loader django.template.loaders.filesystem.Loader:
Using loader django.template.loaders.app_directories.Loader:
/Library/Python/2.7/site-packages/django/contrib/auth/templates/feature_pricing.html (File does not exist)
Run Code Online (Sandbox Code Playgroud)

更新:
我的网页日志将TEMPLATE_DIRS列为().

如果我在TEMPLATE_DIRS的settings.py页面上放置一个print语句,我会正确地得到TEMPLATE_DIRS的打印输出......所以不知道TEMPLATE_DIRS是否被使用(从它的外观看)

Chr*_*r H 9

我在settings.py中添加了额外的TEMPLATE_DIR

:(


Fra*_*ain 5

最好为您的路径变量设置相对路径。你可以这样设置:

import os

PATH_PROJECT = os.path.realpath(os.path.dirname(__file__))

...

...

TEMPLATE_DIRS = (
    PATH_PROJECT + '/templates/'
)
Run Code Online (Sandbox Code Playgroud)

还假设您使用的是 Windows,您可能想尝试:

TEMPLATE_DIRS = (
"C:/Users/full/path/to/marketing_site/templates",
)
Run Code Online (Sandbox Code Playgroud)