Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- WAS 차이
- login
- 3학년 마무리
- 토이프로젝트
- Bootstrap5
- 카카오로그인
- Django login
- allauth
- token 토큰
- kakao API
- for 템플릿
- Kakao Developers
- 자동 컴파일
- if 템플릿
- 웹
- 웹서버 기능
- 템플릿 문법
- 'set' object is not reversible
- 장고
- username 가져오기
- 백엔드
- 웹서버 역할
- template 문법
- 정처기
- 대학생
- django
- user 템플릿
- 장고 로그인
- mac북
- Web
Archives
- Today
- Total
백엔드 개발자를 꿈꾸며...
[Django] TypeError: 'set' object is not reversible 오류 본문
Exception in thread django-main-thread:
File "/PycharmProjects/Project/wsgi.py", line 16, in <module>
application = get_wsgi_application()
File "/opt/anaconda3/lib/python3.9/site-packages/django/core/wsgi.py", line 13, in get_wsgi_application
return WSGIHandler()
File "/opt/anaconda3/lib/python3.9/site-packages/django/core/handlers/wsgi.py", line 125, in __init__
self.load_middleware()
File "/opt/anaconda3/lib/python3.9/site-packages/django/core/handlers/base.py", line 39, in load_middleware
for middleware_path in reversed(settings.MIDDLEWARE):
TypeError: 'set' object is not reversible
이어서 장고 프로젝트를 하려고 파이참을 실행 후 런서버를 돌려보니
갑자기 에러가 떴습니다... 당황스러웠습니다. 3일전까지만 해도 오류가 났던 부분들을 모두 수정된 상태였는데 갑자기?!
어떤 이유인지는 몰라도 우선 에러가 난 곳은 settings.py에서 middleware부분 같아서 살펴보다가 아래처럼 되어있었습니다.
MIDDLEWARE = {
"django.middleware.security.SecurityMiddleware",
"django.contrib.sessions.middleware.SessionMiddleware",
"django.middleware.common.CommonMiddleware",
"django.middleware.csrf.CsrfViewMiddleware",
"django.contrib.auth.middleware.AuthenticationMiddleware",
"django.contrib.messages.middleware.MessageMiddleware",
"django.middleware.clickjacking.XFrameOptionsMiddleware",
'allauth.account.middleware.AccountMiddleware',
}
처음에는 어디가 잘못된 지 몰라서 찾아보다가 결국은 괄호문제였습니다.
파이썬에서 { } 중괄호는 집합, [ ] 대괄호는 리스트를 뜻합니다.
그러한데 미들웨어 정의들 뿐 아니라 모두 리스트형식의 [ ] 대괄호로 요소들이 목록으로 나열 되어있는데
애초에 정의해야하는 형식에 안 맞은 괄호가 되어있어서 오류가 났습니다.
그래서 지금에서야 오류에서 set이 뜻하는 걸 { } 라고 다시 보이네요...
MIDDLEWARE = [
"django.middleware.security.SecurityMiddleware",
"django.contrib.sessions.middleware.SessionMiddleware",
"django.middleware.common.CommonMiddleware",
"django.middleware.csrf.CsrfViewMiddleware",
"django.contrib.auth.middleware.AuthenticationMiddleware",
"django.contrib.messages.middleware.MessageMiddleware",
"django.middleware.clickjacking.XFrameOptionsMiddleware",
'allauth.account.middleware.AccountMiddleware',
]
아무튼 [ ] 대괄호 형식으로 다시 써주니 서버는 잘 돌아갔습니다.
근데 정말 왜 바꼈을까요... 제 실수겠죠?
감사합니다.
'백엔드 공부 > Django' 카테고리의 다른 글
[Django] Django-allauth로 Kakao Login, Logout 해보기 (2) | 2024.01.09 |
---|---|
[Django] 장고 토이 프로젝트 시작 (2) | 2024.01.02 |
[Django] 장고 템플릿 태그 및 user관련 템플릿 문법 (2) | 2023.02.04 |
[Django] 장고 로그인, 로그아웃 구현 (0) | 2023.01.19 |
[Django] 장고 깃허브 gitignore부터 commit, push까지 사용방법 (0) | 2023.01.13 |
Comments