我正在django中制作一个民意调查应用程序,我收到以下错误:
TemplateDoesNotExist at /polls/
这就是我的索引功能如下所示:
def index(request):
latest_questions = Question.objects.order_by('-pub_date')[0:5]
context = {'latest_questions': latest_questions}
return render(request, "polls/template.html", context)
template.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{% if latest_ques %}
<ul>
{% for question in latest_ques%}
<li><a href = '/polls/{{question_id}}/'><b>
{{question.ques_text}}</b></a></li>
{% endfor %}
</ul>
{% endif %}
</body>
</html>
在我的民意调查文件中我有一个模板文件,其中我有一个模板文件夹,我有另一个民意调查文件夹,里面有我的template.html。
我尝试过使用render_to_response而不是render,我也尝试在settings.py中添加DIRS的路径,并尝试从函数中取出请求。非常感谢。
答案 0 :(得分:0)
在您的设置文件中,您需要添加模板路径
TEMPLATES =[
...
DIRS : [os.path.join(BASE_DIR, 'templates')],
...
]
答案 1 :(得分:0)
将您的应用添加到settings.py中的INSTALLED_APPS 并在您的TEMPLATES设置中设置'APPS_DIRS'= True
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'polls',
]
...
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'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',
],
},
},
]