TemplateDoesNotExist(','.join(template_name_list),chain=chain)django.template.exceptions.TemplateDoesNotExist:home.html

r8uurelv  于 2023-07-01  发布在  Go
关注(0)|答案(2)|浏览(138)

我一直在尝试创建一个新项目。我在项目中使用的技术是Python 3.8和Django。我只是被一个错误卡住了,我不能前进。这是我在运行带有python3 manage.py runserver的服务器时得到的错误
raise TemplateDoesNotExist(','.join(template_name_list),chain=chain)django.template.exceptions.TemplateDoesNotExist:[2019 - 03 - 25] 2019 - 03 - 25 00:01:00] 2019 - 03 - 25 00:00:00
我相信这意味着我无法访问我创建的模板。我在我的“用户应用程序”下创建了一个“模板”文件夹。templates文件夹的根目录与我的项目应用程序位于同一根目录中。我像这样更新了我的项目设置模板:

'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在项目文件夹中更改www.example.com,我已经这样做了,但它没有解决我的问题。你能帮我解决这个问题,继续我的项目?先谢谢你。

roejwanj

roejwanj1#

try:template_name='<your_model_name>/home.html'

goqiplq2

goqiplq22#

你的应用程序结构是什么,因为这行'DIRS': [os.path.join(BASE_DIR, 'templates')],不应该是静态的。为了解决我的问题,我不得不像这样指定模板文件夹的位置。'DIRS': [os.path.join(BASE_DIR, 'app/templates')],

相关问题