• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    해결됨

ModuleNotFoundError: No module named 'accounts.urls'

23.01.20 13:30 작성 조회수 698

1

안녕하세요 강사님

커스텀 유저 지정 및 회원가입 구현의

4분 40초 쯤에 AUTH_USER_MODL 추가 부분이 나오는데요.

이 부분 관련하여 데이터베이스 기존에 있는 것을 삭제하고

AUTH_USER_MODEL = 'accounts.User'

라고 설정한 뒤에 python manage.py makemigrations accounts라고 하면

File "/Users/daniel_choi/opt/anaconda3/envs/instagram_second/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'accounts.urls'

이렇게 나오더라구요.

위의 방법에 있어서 읽어올 수 없길래

AUTH_USER_MODEL = 'accounts.models.User'

라고 해주었더니 이번에는

ValueError: Invalid model reference 
'accounts.models.User'. String model 
references must be of the 
form 'app_label.ModelName'.

라고 나옵니다

어떻게 해결하면 될까요? ㅠㅠ

답변 1

답변을 작성해보세요.

1

안녕하세요.

아래 오류 메세지를 읽어보시면, 어떤 의미로 생각되시나요?
ModuleNotFoundError: No module named 'accounts.urls'

에러 메세지를 차근차근 읽어보시고, 그에 따른 본인의 해석도 같이 질문해주시면 더욱 좋습니다.

위는 장고의 오류라기보다, 파이썬 차원의 오류입니다.

그리고, AUTH_USER_MODEL 때문에 위 오류가 발생하는 것이 아닙니다. AUTH_USER_MODEL 값은 models.FoeignKey에 직접적으로 사용이 되구요. models.ForeignKey의 인자로 문자열로 관계가 되는 모델을 지정할 때에는 필히 "앱이름.모델명" 의 형태를 취합니다. "앱이름.models.모델명" 포맷은 models.ForeignKey에서 허용하지 않습니다. 그러니 아래의 오류를 장고가 낸 것입니다.

ValueError: Invalid model reference "accounts.models.User".

너무 조급해하지 마세요.

화이팅입니다. :-)

아.. 그렇군요.. ㅠㅠㅠ 방법을 찾았고 해결했습니다!

감사합니다!!!