해결된 질문
작성
·
455
·
수정됨
0
안녕하세요 이전강의에서 blog1 을 만들어둔상태에서instagram 을 만들어서 간단 조회(q인자) 강의 듣고있는데 궁금중이 생겨 질문드립니다.
위 그림과 같이 지금
뷰이름
과 path 함수의 name 파라미터
가 중복되고 있습니다.
이렇게 해도 정상 동작중 입니다.
저렇게 뷰이름과 name값이 중복이 되도 맞는것인지 궁금
장고는 도대체 어떤 매카니즘으로 URI~뷰 를 구분 하는 것 인지 궁금
합니다.
답변 2
1
안녕하세요.
이에 대해서는 "URL Dispatcher와 정규 표현식" 에피소드에서 자세히 다루고 있습니다.
https://www.inflearn.com/course/lecture?courseSlug=%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%9E%A5%EA%B3%A0-%EC%9B%B9%EC%84%9C%EB%B9%84%EC%8A%A4&unitId=90542&tab=curriculum
관련해서 "URL Reverse를 통해 유연하게 URL 문자열 및 응답 생성하기" 에피소드도 같이 살펴보시면 좋습니다.
https://www.inflearn.com/course/lecture?courseSlug=%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%9E%A5%EA%B3%A0-%EC%9B%B9%EC%84%9C%EB%B9%84%EC%8A%A4&unitId=90551&tab=curriculum
다른 views.py 파일에서 post_list 함수는, 각기 다른 파일에 선언되어있기 때문에 중복된 상황이 아닙니다. 아래 클래스 A와 B의 name은 이름은 같지만 중복된 상황이 아닌 것과 같은 이치입니다.
그리고 장고의 urlpatterns는 리스트로서, 각 path는 순서를 가지고 있구요. 순서를 기반으로, URL Reverse를 할 때 리스트의 처음부터 순차적으로 지정 path를 찾습니다. 이름이 중복될 경우, 먼저 위치한 path를 우선순위를 갖긴 합니다. 하지만 각 앱마다 namespace를 지정해줄 수 있기에, 다른 앱 간의 path name이 중복되는 경우를 회피할 수 있습니다. <=위 에피소드를 참고 부탁드립니다.
화이팅입니다. :-)
아 넵 나중 챕터에 나오는군요
알겠습니다!
감사합니다!