강사님 안녕하세요!
275
작성한 질문수 12
답변 1
1
안녕하세요.
url reverse 시에 사용된 인자는 user.username 이구요.
user 는 settings내의 디폴트 context processors를 통해 지정되었으며, 현재 유저를 나타냅니다. 로그인 상황에서는 User 모델의 인스턴스이구요. 로그아웃 상황에서는 AnonymousUser 클래스의 인스턴스가 됩니다.
AnonymousUser 클래스는 User 모델과 동일한 속성과 함수들을 가지도록 되어있습니다. 아래 링크를 통해 AnonymousUser 클래스를 보시면 username 필드의 값이 빈 문자열로 되어있습니다.
https://github.com/django/django/blob/3.0.14/django/contrib/auth/models.py#L398
askcompany/urls.py 내에서 pydenticon_image 에 대한 path 정의는 다음과 같습니다.
path('identicon/image/<path:data>/', pydenticon_image, name="pydenticon_image"),
위에서 지정된 path 이름의 converter는 정규표현식으로는 ".+" 입니다. 1회 이상 반복을 지정하고 있습니다.
https://github.com/django/django/blob/3.0.14/django/urls/converters.py#L40
그런데, 로그아웃 상황에서의 user.username은 빈 문자열이므로, url reverse 시에 매칭되는 path를 못 찾아서 발생하는 오류입니다.
현재의 url reverse 코드는 로그인 상황에서만 동작하도록 {% if user.is_authenticated %}{% endif %} 로 감싸보실 수 있으시겠습니다.
그리고, 질문 제목에는 본 질문을 요약해서 써주시면, 다른 분들에게도 본 질문이 도움이 될 수 있습니다. 부탁드리겠습니다.
화이팅입니다. :-)
안녕하세요.
0
62
1
[OneToOne Field Demo] get_user_model() 메서드를 활용해야 하는 이유?
0
282
1
useEffect 훅에서 else 유무에 따른 결과
0
221
1
useAxios 훅의 dependency array 설정
0
254
1
useEffect에서 변수 업데이트 관련 질문
0
388
1
rest_framework.generics.CreateAPIView의 model 속성 유무
0
273
1
bootstrap4
0
479
4
리뉴얼 강의가 오픈이 되면 기존 강의는 더이상 못보는걸까요
1
373
1
admin form에서 앞선 필드 선택 후 다른 필드 select widget 구성하는 방법
0
577
3
useState는 필수일까요?
0
269
1
python manage.py makemigrations instagram 시 created_at default 오류가 발생합니다.
0
606
4
Django allauth를 사용한 소셜 로그인 시 에러
0
657
1
프로젝트명 변경 뒤, 디버그툴바+디버그모드 사용 시 에러
0
561
2
useLocalStorage() 함수 사용여부
0
233
1
django에 LOGIN_URL = '/accounts/login/'의 의미?
0
451
1
리듀서의 의미 재확인
0
435
1
simple-jwt Refresh Token 사용 노하우
0
903
2
docker compose 를 통한 배포 관련 오류 문의
0
683
1
파이썬 속도 장고 관련 궁금한게 있습니다.
0
369
1
is_like_user
0
237
1
related_name 오류
0
276
1
re_path 오류
0
263
1
re_path url
0
252
1
No post matches the given query
0
667
2





