首页 > 解决方案 > TemplateDoesNotExist(', '.join(template_name_list), chain=chain) django.template.exceptions.TemplateDoesNotExist: home.html

问题描述

我一直在尝试创建一个新项目。我用于该项目的技术是 Python 3.8 和 Django。我刚刚遇到一个错误,我无法继续前进。这是我运行服务器时遇到的错误python3 manage.py runserver

raise TemplateDoesNotExist(', '.join(template_name_list), chain=chain) django.template.exceptions.TemplateDoesNotExist: home.html [25/Oct/2020 00:15:56] "GET / HTTP/1.1" 500 73916

我相信这意味着我无法访问我创建的模板。我在“用户应用”下创建了一个“模板”文件夹。模板文件夹的根目录与我的项目应用程序位于同一根目录中。我像这样更新了我的项目设置模板:

'DIRS': [os.path.join(BASE_DIR, 'templates')],

我的项目文件夹中路径的 URL:

urlpatterns = [
    path('admin/', admin.site.urls),
    path('users/',include('users.urls')),
    path('users/',include('django.contrib.auth.urls')),
    path('',TemplateView.as_view(template_name='home.html'),name='home'),
]

我的用户应用程序 urls.py:

from django.urls import path
from .views import SignUpView

urlpatterns=[
    path('signup/', SignUpView.as_view(),name='signup'),
]


home.html 看起来像这样:

{% extends 'base.html' %}

{% block title %} Home {% endblock title %}

{% block content %}

{% if %}

{% if user.is_authenticated %}
    Welcome {{user.username}}!
    <p><a href="{% url 'logout' %}">Exit</a></p>
{% else %}
    <p>You are not logged in!!!</p>
    <p><a href="{% url 'login' %}">Log in</a></p>
    <p><a href="{% url 'signup' %}">Register</a></p>

{% endif %}

{% endblock content %}

view.py 看起来像这样:

from django.shortcuts import render
from django.urls import reverse_lazy
#from django.http import HttpResponse
from django.views.generic import CreateView
from .forms import CustomUserCreationForm

# Create your views here.

class SignUpView(CreateView):
    form_class=CustomUserCreationForm
    success_url=reverse_lazy('login')
    template_name="signup.html"

我在 StackOverflow 上寻找解决方案,他们大多提到更改项目文件夹中的 settings.py,我已经完成了,但它并没有解决我的问题。您能帮我解决这个问题以继续我的项目吗?提前致谢。

标签: pythondjango

解决方案


尝试:template_name='<your_model_name>/home.html'


推荐阅读