소셜로그인 개발중에 site matching query does not exist
라는 에러가 발생했다.
찾아보니 django site 프레임워크를 사용할때 발생하는 에러였다.
django는 DB에 여러 웹사이트를 등록하고 주소를 변경해가면서 사용할 수 있다.
settings.py
에서 SITE_ID
를 지정하는 것이 바로 그것인데, 에러가 발생하는 원인이 이 SITE_ID
에 있다.
내가 사용하는 웹페이지와 SITE_ID
가 맞지 않아 site가 매칭되는 커리가 DB에 없다고 에러가 발생하는 것인데
SITE_ID = X
라고 할때, 여기서 X는 django_site DB
에서의 PK
이다.
django 앱을 시작하면 기본적으로 example.com이라는 사이트가 DB 1번에 저장되어있는데,
이것을 수정이 아닌 삭제를 하고 새로 생성한다면 그 다음부터 추가되는 사이트는 PK가 2이므로 SITE_ID=2
부터 시작해야 에러가 발생하지 않는다.
요약) SITE_ID는 django_site에서의 PK이다.