django polls aplication中的TemplateDoesNotExist错误

时间:2018-03-16 04:46:46

标签: html django

我正在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的路径,并尝试从函数中取出请求。非常感谢。

2 个答案:

答案 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',
            ],
        },
    },
]