resolve_url에 URL패턴을 쓸 수 있다는 의미가 잘 이해가 안갑니다.
이번 강의의 4분30초대에서 get_next_page 함수에 대해 설명해주신 부분이 잘 이해가 안가서 질문드립니다
resolve_url 에 URL 패턴을 쓸 수 있다고 하시고, urls.py에다가
path('logout/', LogoutView.as_view(next_page=''), name='logout'),
라고 as_view 에다 next_page 를 넘겨준 것이 앞서 설명하신 것과 어떻게 연결되는지 잘 이해가 안갑니다.
next_page=''에다가 그냥 url='/instagram/' 했던 것 처럼 패턴네임을 줄 수 있다 이렇게 이해하면 되는걸까요?
답변 2
1
안녕하세요.
LogoutView 뷰는 Class Based View 입니다. CBV는 대개 next_page와 같은 클래스 변수로서의 설정값이 있고, 이를 활용하는 get_next_page와 같은 인스턴스 함수가 있습니다. get_next_page 함수 내에서 next_page 설정을 참조하는 거죠.
get_next_page 함수 내에서 next_page 설정값이 있을 경우, resolve_url을 통해서 URL Reverse를 수행한 문자열을 반환해주고 있습니다.
next_page와 같은 설정값은 해당 클래스 뷰에 직접적으로 설정하실 수도 있고, as_view 호출 시에 설정값을 지정하실 수도 있습니다.
그래서 LogoutView.as_view(next_page='/instagram/') 와 같이 쓰신다면, LogoutView.as_view 를 통해서 만들어지는 새로운 뷰 함수는 next_page='/instagram/' 가 적용된 뷰 함수가 됩니다.
그런데 위에서도 말씀드렸다시피 next_page 값은 get_next_page 함수 내에서 resolve_url이 적용이 되기에
그 값을 '/instagram/' 처럼 URL 문자열을 주실 수도 있겠지만, URL Reverse가 수행되도록 "instagram:post_list" 와 같이 지정하셔도 동작한다는 의미가 되겠습니다.
instagram 의 namespace이고, post_list는 path name입니다.
관련 코드 : https://github.com/askcompany-kr/django-with-react/blob/master/instagram/urls.py
살펴보시고, 조금이라도 궁금한 부분이 남아있으시면 추가 질문 주세요. :-)
질문이 해결되셨다면 본 질문의 상태를 해결됨으로 변경 부탁드립니다.
화이팅입니다. :-)
0
항상 자세하고 친절한 답변 감사드립니다.
정리하자면 LogoutView.as_view(next_page='instagram:post_list'), name='logout')
처럼 써서 url reverse가 수행되도록 할 수 있다는 의미가 맞을까요?
0
예. next_page에 지정된 인자는 URL Reverse가 수행될 수 있다로 이해하실 수 있습니다.
next_page에 지정된 값은 무조건 URL Reverse를 수행하게 되는 데요. URL Reverse에 실패할 경우 그 값을 그대로 사용하게 됩니다.
그러니 next_page="/instagram/" 으로 지정하시면 "/instagram/" 값은 당연히 URL Reverse에 실패하게 되겠죠. 그러니 "/instagram/" 값 그대로 사용이 될 것입니다.
화이팅입니다. :-)
안녕하세요.
0
46
1
[OneToOne Field Demo] get_user_model() 메서드를 활용해야 하는 이유?
0
268
1
useEffect 훅에서 else 유무에 따른 결과
0
209
1
useAxios 훅의 dependency array 설정
0
242
1
useEffect에서 변수 업데이트 관련 질문
0
379
1
rest_framework.generics.CreateAPIView의 model 속성 유무
0
264
1
bootstrap4
0
466
4
리뉴얼 강의가 오픈이 되면 기존 강의는 더이상 못보는걸까요
1
358
1
admin form에서 앞선 필드 선택 후 다른 필드 select widget 구성하는 방법
0
570
3
useState는 필수일까요?
0
259
1
python manage.py makemigrations instagram 시 created_at default 오류가 발생합니다.
0
591
4
Django allauth를 사용한 소셜 로그인 시 에러
0
649
1
프로젝트명 변경 뒤, 디버그툴바+디버그모드 사용 시 에러
0
550
2
useLocalStorage() 함수 사용여부
0
224
1
django에 LOGIN_URL = '/accounts/login/'의 의미?
0
445
1
리듀서의 의미 재확인
0
425
1
simple-jwt Refresh Token 사용 노하우
0
895
2
docker compose 를 통한 배포 관련 오류 문의
0
667
1
파이썬 속도 장고 관련 궁금한게 있습니다.
0
360
1
is_like_user
0
230
1
related_name 오류
0
270
1
re_path 오류
0
255
1
re_path url
0
246
1
No post matches the given query
0
656
2





