작성
·
1.5K
·
수정됨
1
강의 따라해서 구글 로그인 연결해서 로컬사이트에서 로그인, 로그아웃이 가능하고 로그인 계정도 admin에 잘 저장되고있습니다. (기능적으로는 문제 없어보입니다.)
근데 test를 돌리면 "allauth.socialaccount.models.SocialApp.DoesNotExist" 에러가 발생하는데.. 어느 부분이 잘못 된 걸까요..
github: https://github.com/Tonynology/django_project/tree/main/blog
(여러 번의 삽질로 SITE_ID가 3이 되었습니다.. 3으로 해야 로컬사이트 blog에 들어가지네요.)
답변 2
3
https://github.com/osc-vitap/oschub/issues/18
윗글을 보니 업데이트가 되어서 client ID랑 secret key를 추가해야 한다고 하네요.
settings.py 파일에 아래와 같이 추가하면 해결되더라구요. 위의 링크에도 있는데, 다음 링크(https://github.com/osc-vitap/oschub/commit/2146d3315a4afa7056227419903db56612bbb208)에서 보실 수 있습니다.
SOCIALACCOUNT_PROVIDERS = {
"google": {
"APP": {
"client_id": os.getenv("GOOGLE_CLIENT_ID"),
"secret": os.getenv("GOOGLE_SECRET_KEY"),
"key": ""
},
# These are provider-specific settings that can only be
# listed here:
"SCOPE": [
"profile",
"email",
],
"AUTH_PARAMS": {
"access_type": "online",
}
}
}
tests.py 를 이용할 때만 생기는 문제이기 때문에 test 코드만 수정하면 되는 거였네요. 아래 파란색만 추가해주면 test 할 때 더 이상 해당 에러가 발생하지 않습니다.
from allauth.socialaccount.models import SocialApp
def setUp(self):
self.SocialApp1 = SocialApp.objects.create(
provider="google",
name="google",
client_id="1234567890",
secret="0987654321",
)
저는 이걸로 test 때 더이상 문제도 안되고 실제 싸이트도 문제없이 잘 돌아갑니다.
0
해결방법 감사합니다. 저도 저 에러때문에 고생했는데, 덕분에 해결되었습니다.