장고에서 song_detail.html을 찾아가는 이유를 모르겠습니다.
238
작성한 질문수 16
본 강의에서 views.py에 urlpatterns배열을 수업 내용인 song_detail에서 song_ddetail로 바꾸고 실행시켜 보았는데 장고에서는 hottrack/song_detail.html을 찾고 있습니다.
urlpatterns에 있는 views.song_detail이 있기때문에 song_detail.html을 찾는게 아닌가용?? 혹시 어떻게 하면 song_ddetail.html과 연결 시킬 수 있을까요??
hottrack / urls.py
from django.urls import path, re_path # urlpatterns리스트에 필요한 것.
from . import converters # noqa
from . import views # view매핑을 위해 임포트.
urlpatterns = [
path(route="", view=views.index),
path(route="archives/<date:release_date>/", view=views.index),
re_path(route=r"^export\.(?P<format>(csv|xlsx))$", view=views.export),
path(route="<int:pk>/cover.png", view=views.cover_png),
path(route="<int:pk>/", view=views.song_ddetail),
]hottrack/views.py
song_ddetail = DetailView.as_view( # 디테일뷰 구현
model=Song, # 모델인자로 Song지정함.
)template


song_detail 함수를 song_ddetail로 변경하면 작동이 되지 않는데 이유가 무엇인지 궁금합니다.
답변 1
0
안녕하세요.
현재 DetailView를 통해 song_detail 뷰를 구현하신 상황입니다.
그리고 model 인자를 지정하신 상황이죠.
DetailView에서는 model 인자가 지정된 경우, 디폴트 template_name 으로서 "앱이름/모델명소문자_detail.html" 파일을 찾습니다.
현재 앱이 hottrack 이고 모델이 Song이니까 hottrack/song_detail.html 템플릿 파일을 찾는 것입니다.
DetailView.as_view 호출을 통해 생성하는 함수 이름과는 전혀 상관이 없습니다.
앱과 모델이 고정된 상태에서 템플릿 이름을 변경하실려면, template_name 인자를 직접 설정하시거나 get_template_names 메서드를 직접 구현하시는 방법이 유일합니다. :-)
--
장고 코드에서는 아래에서 확인해보실 수 있는 데요.
https://github.com/django/django/blob/main/django/views/generic/detail.py#L146
코드가 읽기 어려우실 경우, 아래의 django-vanilla-views 구현체를 살펴보셔도 좋습니다.
https://github.com/encode/django-vanilla-views/blob/master/vanilla/model_views.py#L203
추가 질문 환영하구요. 확인해보시고 댓글 부탁드립니다. :-)
Django의 View나 URL의 네이밍 컨벤션
0
60
1
08-14 FormView 관련 질문
0
72
1
07-01 IPv4AddressIntegerField 질문
0
82
1
14-08 수업 확인 요청 드립니다.
0
91
2
nextjs git 관리?
0
75
1
14-07에서 SESSION_COOKIE_DOMAIN = None 처리 필요.
0
75
2
고민
0
219
3
django-component==0.139 실행 시 오류
0
167
2
django-csp 4.0 migration 관련
0
122
2
01 윈도우 개발환경 설치 문의
0
99
1
강의 자료 문의
0
129
2
선생님 학습 방법 질문이 있습니다.
0
154
2
bulk_update에서 updated_at 필드
0
124
1
정규표현식
0
107
2
선생님 질문 있습니다.
0
80
1
공유자님 이 강의 공부 방법에 대한 질문입니다.
0
181
2
mydjango.py 질문 있습니다.
0
147
3
Django-Components의 0.128 세팅
0
226
3
질문 아님.
0
127
1
mydjango.py 실습 질문있습니다.
0
87
2
pycharm 개발환경 설정 오류
0
182
2
강의 듣다가 유료pycharm에 비해 vscode지원기능이 아쉬워서 확장프로그램 만들었는데 여기 공유해도 될까요?
0
167
1
중단점에 대한 질문 있습니다.
0
133
2
todo / react 붙이는 깃주소를 받고 싶습니다.
0
179
6





