LPB*_*LPB 5 python directory django templates
我知道有很多类似的问题,但没有一个问题解决了我的问题.
Python版本:3.4 Django版本:1.8
在加载http://127.0.0.1:8000/lfstd/时,我在/ lfstd /得到TemplateDoesNotExist.
system.py:
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
TEMPLATE_PATH = os.path.join(BASE_DIR, 'templates')
TEMPLATE_DIRS = (
TEMPLATE_PATH,
)
Run Code Online (Sandbox Code Playgroud)
lfstd/views.py:
def index(request):
[...]
return render(request, 'lfstd/index.html', context_dict)
Run Code Online (Sandbox Code Playgroud)
project urls.py:
from django.conf.urls import include, url
from django.contrib import admin
url(r'^admin/', include(admin.site.urls)),
url(r'^lfstd/', include('lfstd.urls')),
Run Code Online (Sandbox Code Playgroud)
lfstd urls.py:
from django.conf.urls import patterns, url
from lfstd import views
urlpatterns = patterns('',
url(r'^$', views.index, name='index'))
Run Code Online (Sandbox Code Playgroud)
在base_dir和template_path上运行print,我得到:
Base dir: C:\Users\Phil\PycharmProjects\TownBuddies
Template path: C:\Users\Phil\PycharmProjects\TownBuddies\templates
Run Code Online (Sandbox Code Playgroud)
这正是我的项目和模板文件夹所在的位置.但是,django不会在该文件夹中查找模板.它在以下文件夹中查找:
C:\Python34\lib\site-packages\django\contrib\admin\templates\lfstd\index.html (File does not exist)
C:\Python34\lib\site-packages\django\contrib\auth\templates\lfstd\index.html (File does not exist)
Run Code Online (Sandbox Code Playgroud)
事实上,如果我在那里移动我的模板,它确实找到它并且它有效.
非常感谢任何帮助,我开始使用Django并完全陷入困境......
编辑:
我将TEMPLATE_DIRS更改为TEMPLATES但是Django仍未查看templates文件夹:

cat*_*ran 15
TEMPLATE_DIRSdjango 1.8中不推荐使用该设置.您应该使用TEMPLATES相反:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [TEMPLATE_PATH],
'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',
],
},
},
]
Run Code Online (Sandbox Code Playgroud)