我正在使用linux
,python 3.4
,django 1.8.2
,pytmysql
在我的virtualenv中有:
db.sqlite3
manage.py
new/
templates/
settings.py:
首先我评论了'DIRS':[],
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',
],
},
},
]
然后添加此部分:
TEMPLATE_DIRS = (
'/home/niloofar/django/niloofar/new/templates',
)
urls.py:
来自new.views import welcome
urlpatterns = [
url(r'^welcome', welcome),
]
views.py:
from django.shortcuts import render
def welcome(request):
message = "welcome again:D"
return render(request, 'base.html', {'message': message})
在templates目录中,有base.html文件:
<html>
<body>
<p>* {{ message }} *</p>
</body>
</html>
当我刷新页面时,它会输出错误:
异常类型:TemplateDoesNotExist
例外值:base.html
答案 0 :(得分:4)
试试这个,不需要评论DIRS。 不推荐使用TEMPLATE_DIRS设置。请参阅链接https://docs.djangoproject.com/en/1.9/ref/settings/#template-dirs
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(os.path.dirname(__file__), '..//', 'templates').replace('\\', '/')],
'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',
],
},
},
]