質問のためにコードをコピペしてるうちに同じビューを二つ作ってるのを発見し、自己解決しました。
djangoでメンバーのリストページからメンバーの詳細ページに移るところを作っていたところなのですが、テンプレートファイルが見つからないようです。
パスは合っていると思うのですが、何が問題なのでしょうか。ご教授お願いしたいです。
↓urls.py
from django.urls import path from . import views app_name = 'match' urlpatterns=[ path('menber_detail/<int:pk>/', views.MenberDetail.as_view(), name='menber_detail'), path('login/',views.Login.as_view(), name='login'), path('logout/',views.Logout.as_view(), name='logout'), path('register/', views.Register.as_view(), name='register'), path('user_create/', views.UserCreate.as_view(), name='user_create'), path('user_create/done/', views.UserCreateDone.as_view(), name='user_create_done'), path('user_create/complete/<token>/', views.UserCreateComplete.as_view(), name='user_create_complete'), path('user_detail/<int:pk>/', views.UserDetail.as_view(), name='user_detail'), path('user_update/<int:pk>/', views.UserUpdate.as_view(), name='user_update'), path('', views.Top.as_view(), name='top'), ]
↓views.py (MenberDetailのtemplate_nameの変更をしてもエラーが出ます。)
views.py
1class Top(generic.ListView): 2 model = User 3 template_name = 'match/menber_list.html' 4 context_object_name = 'users' 5 6class MenberDetail(generic.DetailView): 7 model = User 8
↓member_list.html
{% for men in users %} <a href="{% url 'match:menber_detail' men.pk %}">{{ men.last_name }}さん</a> {% endfor %}
↓member_detail.html
{% extends "match/base.html" %} {% block content %} <table class="table"> <tr> <th>プロフ画像</th> <td>{{ user.user_img }}</td> </tr> <tr> <th>姓</th> <td>{{ user.last_name }}</td> </tr> <tr> <th>名</th> <td>{{ user.first_name }}</td> </tr> <tr> <th>使用キャラ</th> <td>{{ user.user_char }}</td> </tr> </table> {% endblock %}
エラーメッセージ
Internal Server Error: /menber_detail/2/ Traceback (most recent call last): File "/opt/anaconda3/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner response = get_response(request) File "/opt/anaconda3/lib/python3.8/site-packages/django/core/handlers/base.py", line 202, in _get_response response = response.render() File "/opt/anaconda3/lib/python3.8/site-packages/django/template/response.py", line 105, in render self.content = self.rendered_content File "/opt/anaconda3/lib/python3.8/site-packages/django/template/response.py", line 81, in rendered_content template = self.resolve_template(self.template_name) File "/opt/anaconda3/lib/python3.8/site-packages/django/template/response.py", line 63, in resolve_template return select_template(template, using=self.using) File "/opt/anaconda3/lib/python3.8/site-packages/django/template/loader.py", line 47, in select_template raise TemplateDoesNotExist(', '.join(template_name_list), chain=chain) django.template.exceptions.TemplateDoesNotExist: menber_detail.html [10/Dec/2020 21:34:41] "GET /menber_detail/2/ HTTP/1.1" 500 72329
あと、別のビューで他人の個人情報を含む詳細ページには入れないようにしているのですがこれは関係ないですよ
回答2件
あなたの回答
tips
プレビュー