• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

python manage.py test 를 돌리면 allauth.socialaccount.models.SocialApp.DoesNotExist 에러가 뜹니다.

23.08.26 13:22 작성 23.08.26 13:23 수정 조회수 1.12k

1

강의 따라해서 구글 로그인 연결해서 로컬사이트에서 로그인, 로그아웃이 가능하고 로그인 계정도 admin에 잘 저장되고있습니다. (기능적으로는 문제 없어보입니다.)
근데 test를 돌리면 "allauth.socialaccount.models.SocialApp.DoesNotExist" 에러가 발생하는데.. 어느 부분이 잘못 된 걸까요..
스크린샷 2023-08-26 오후 1.11.08.png스크린샷 2023-08-26 오후 1.17.13.png스크린샷 2023-08-26 오후 1.17.59.png스크린샷 2023-08-26 오후 1.20.55.png

github: https://github.com/Tonynology/django_project/tree/main/blog
(여러 번의 삽질로 SITE_ID가 3이 되었습니다.. 3으로 해야 로컬사이트 blog에 들어가지네요.)

답변 2

·

답변을 작성해보세요.

2

다빈치님의 프로필

다빈치

2023.09.22

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",

}

}

}

smile.jisoo님의 프로필

smile.jisoo

2024.04.05

해결방법 감사합니다. 저도 저 에러때문에 고생했는데, 덕분에 해결되었습니다.

 

smile.jisoo님의 프로필

smile.jisoo

2024.04.05

Test 할 때 에러는 안 생기는데, 실제 싸이트에서는 에러가 생기네요...

smile.jisoo님의 프로필

smile.jisoo

2024.04.05

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

아마 여러번 SITE를 지우고 삭제하는 과정에서 3이 되었나봅니다. 그래도 해결방법을 찾으셔서 다행입니다.

Tony Moon님의 프로필

Tony Moon

질문자

2023.08.27

아뇨, 그럼에도 불구하고 python manage.py test를 돌리면 "allauth.socialaccount.models.SocialApp.DoesNotExist" 에러가 발생합니다..