인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

ming님의 프로필 이미지

작성한 질문수

작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지

첫 앱 시작, 그리고 기본적인 view 만들기

실행에러질문

작성

·

61

0

(.venv) PS C:\Users\LG\PycharmProjects\pragmatic> python manage.py runserver

Watching for file changes with StatReloader

Performing system checks...

Exception in thread django-main-thread:

Traceback (most recent call last):

File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\core\checks\urls.py", line 136, in check_custom_error_handlers

handler = resolver.resolve_error_handler(status_code)

File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\urls\resolvers.py", line 732, in resolve_error_handler

callback = getattr(self.urlconf_module, "handler%s" % view_type, None)

^^^^^^^^^^^^^^^^^^^

File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\utils\functional.py", line 47, in get

res = instance.__dict__[self.name] = self.func(instance)

~~~~~~~~~^^^^^^^^^^

File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\urls\resolvers.py", line 711, in urlconf_module

return import_module(self.urlconf_name)

File "C:\Users\LG\AppData\Local\Programs\Python\Python313\Lib\importlib\__init__.py", line 88, in import_module

return bootstrap.gcd_import(name[level:], package, level)

~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "<frozen importlib._bootstrap>", line 1387, in gcdimport

File "<frozen importlib._bootstrap>", line 1360, in findand_load

File "<frozen importlib._bootstrap>", line 1331, in findand_load_unlocked

File "<frozen importlib._bootstrap>", line 935, in loadunlocked

File "<frozen importlib._bootstrap_external>", line 1026, in exec_module

File "<frozen importlib._bootstrap>", line 488, in callwith_frames_removed

File "C:\Users\LG\PycharmProjects\pragmatic\pragmatic\urls.py", line 25, in <module>

path('account/', include('accountapp.urls')),

~~~~~~~^^^^^^^^^^^^^^^^^^^

File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\urls\conf.py", line 39, in include

urlconf_module = import_module(urlconf_module)

File "C:\Users\LG\AppData\Local\Programs\Python\Python313\Lib\importlib\__init__.py", line 88, in import_module

return bootstrap.gcd_import(name[level:], package, level)

~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "<frozen importlib._bootstrap>", line 1387, in gcdimport

File "<frozen importlib._bootstrap>", line 1360, in findand_load

File "<frozen importlib._bootstrap>", line 1331, in findand_load_unlocked

File "<frozen importlib._bootstrap>", line 935, in loadunlocked

File "<frozen importlib._bootstrap_external>", line 1026, in exec_module

File "<frozen importlib._bootstrap>", line 488, in callwith_frames_removed

File "C:\Users\LG\PycharmProjects\pragmatic\accountapp\urls.py", line 4, in <module>

from pragmatic.urls import urlpatterns

ImportError: cannot import name 'urlpatterns' from partially initialized module 'pr

agmatic.urls' (most likely due to a circular import) (C:\Users\LG\PycharmProjects\pragmatic\pragmatic\urls.py)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "C:\Users\LG\AppData\Local\Programs\Python\Python313\Lib\threading.py", line

1041, in bootstrapinner

self.run()

~~~~~~~~^^

File "C:\Users\LG\AppData\Local\Programs\Python\Python313\Lib\threading.py", line

992, in run

self._target(*self._args, **self._kwargs)

~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\utils\autoreload.py", line 64, in wrapper

fn(*args, **kwargs)

~~^^^^^^^^^^^^^^^^^

File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\core\management\commands\runserver.py", line 134, in inner_run

self.check(display_num_errors=True)

~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^

File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\core\management\base.py", line 486, in check

all_issues = checks.run_checks(

app_configs=app_configs,

...<2 lines>...

databases=databases,

)

File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\core\checks\registry.py", line 88, in run_checks

new_errors = check(app_configs=app_configs, databases=databases)

File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\core\checks\urls.py", line 138, in check_custom_error_handlers

path = getattr(resolver.urlconf_module, "handler%s" % status_code)

^^^^^^^^^^^^^^^^^^^^^^^

File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\utils\functional.py", line 47, in get

res = instance.__dict__[self.name] = self.func(instance)

~~~~~~~~~^^^^^^^^^^

File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\urls\resolvers.py", line 711, in urlconf_module

return import_module(self.urlconf_name)

File "C:\Users\LG\AppData\Local\Programs\Python\Python313\Lib\importlib\__init__.py", line 88, in import_module

return bootstrap.gcd_import(name[level:], package, level)

~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "<frozen importlib._bootstrap>", line 1387, in gcdimport

File "<frozen importlib._bootstrap>", line 1360, in findand_load

File "<frozen importlib._bootstrap>", line 1331, in findand_load_unlocked

File "<frozen importlib._bootstrap>", line 935, in loadunlocked

File "<frozen importlib._bootstrap_external>", line 1026, in exec_module

File "<frozen importlib._bootstrap>", line 488, in callwith_frames_removed

File "C:\Users\LG\PycharmProjects\pragmatic\pragmatic\urls.py", line 25, in <module>

path('account/', include('accountapp.urls')),

~~~~~~~^^^^^^^^^^^^^^^^^^^

File "C:\Users\LG\PycharmProjects\pragmatic\.venv\Lib\site-packages\django\urls\conf.py", line 39, in include

urlconf_module = import_module(urlconf_module)

File "C:\Users\LG\AppData\Local\Programs\Python\Python313\Lib\importlib\__init__.py", line 88, in import_module

return bootstrap.gcd_import(name[level:], package, level)

~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "<frozen importlib._bootstrap>", line 1387, in gcdimport

File "<frozen importlib._bootstrap>", line 1360, in findand_load

File "<frozen importlib._bootstrap>", line 1331, in findand_load_unlocked

File "<frozen importlib._bootstrap>", line 935, in loadunlocked

File "<frozen importlib._bootstrap_external>", line 1026, in exec_module

File "<frozen importlib._bootstrap>", line 488, in callwith_frames_removed

File "C:\Users\LG\PycharmProjects\pragmatic\accountapp\urls.py", line 4, in <module>

from pragmatic.urls import urlpatterns

ImportError: cannot import name 'urlpatterns' from partially initialized module 'pr

agmatic.urls' (most likely due to a circular import) (C:\Users\LG\PycharmProjects\pragmatic\pragmatic\urls.py)

 

강의랑 똑같이 코드를 치고 python manage.py runserver을 입력해서 실행하려 하는데 위 처럼 에러가 뜨는데 코드는 분명 똑같이친거 같은데 뭐가 잘못된건지 모르겠어요ㅠㅠ

답변 1

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. ming님.

작성하신 코드를 실행하실 때 발생한 에러는 Django 프로젝트에서 흔히 발생하는 순환 import(Circular Import) 문제로 보입니다. 이 문제는 urls.py 파일에서 urlpatterns를 가져오고자 할 때, 해당 urls.py 파일이 다시 해당 import를 필요로 한다면 발생할 수 있습니다. 몇 가지 해결책을 제안드리겠습니다:

  1. Import 위치 조정:

    • accountapp/urls.py에서 pragmatic.urls의 import가 정말 필요한 지 검토하셔야 합니다.
    • 이 import 문이 불필요하다면 제거하도록 합니다.
    • 만약 필요한 경우라면 해당 기능을 다른 모듈로 분리하거나, 위치를 조정하여 순환 참조를 방지할 수 있습니다.
  2. 코드 리팩토링:

    • pragmatic.urls 혹은 accountapp.urls의 구조를 검토하여 순환 의존성을 제거할 수 있는 방법을 찾아보세요. 불필요한 의존성이나 import가 있다면 이를 제거해야 합니다.
  3. 관련 질문과 답변:

    • 비슷한 질문과 관련하여 답변이 유사하게 제공된 사례가 있는지 확인해 보세요.
    • include 오류에서 유사한 문제가 발생하였으며, include를 import하는 부분을 점검해야 했습니다.

이 외에도, 각자의 Django 설정 파일이나 프로젝트 구조가 조금씩 다를 수 있으니, 직접적인 코드 분석이 필요할 수 있습니다. 발견한 코드의 차이점을 하나씩 점검하시면서 해결해 보시는 것도 좋겠습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

ming님의 프로필 이미지

작성한 질문수

질문하기