😁
TemplateResponseMixin requires either a definition of 'template_name'
対象者
以下のサイトをみてやってみたが改善しない人
結論
app/viewsの
template_nameをtemplates_nameにしていた
つまりスペルミス
エラー内容
ImproperlyConfigured at /
TemplateResponseMixin requires either a definition of 'template_name' or
an implementation of 'get_template_names()'
Request URL: http://127.0.0.1:8000/
Django Version: 3.2
Exception Type: ImproperlyConfigured
Exception Value:
TemplateResponseMixin requires either a definition of 'template_name' or an implementation of 'get_template_names()'
コード(改善済み)
***project/url***
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('',include('booking.urls')),
]
***app/url***
from django.urls import path
from .import views
app_name = 'booking'
urlpatterns = [
path('', views.IndexView.as_view(),name='index'),
path('booking_top/', views.booking_top, name='booking.urls'),
]
app/views
from django.shortcuts import render
from django.views.generic import TemplateView
class IndexView(TemplateView):
templates_name = 'main/index.html'
class booking_top(TemplateView):
templates_name = 'main/booking_top.html'
反省点
エラーを今一度読んでみると
views.py に原因があることがわかった。
またエラー内容がtemplate_nameが存在しないと書かれているのにも関わらず
templates_nameであることがわからなかった。
エラーをみてどこを見れば治るのかまでわかるようにしたいと思う。
Discussion