• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    해결됨

Server Error (500) 에러가 여전히 뜨네요

22.12.30 16:25 작성 조회수 1.4k

0

제목 없음2.png제목 없음3.png제목 없음.png

 

쉘로 접속해서 migrate까지 완료했고 showmigrations로 확인까지 했는데 왜 500 에러가 뜨는걸까요??

답변 1

답변을 작성해보세요.

0

500 페이지만 봐서는 그 원인을 절대 파악할 수 없습니다.

일단 settings 내의 DEBUG 옵션을 True로 켜시고, 다시 접속해보시면 오류내역이 웹페이지에 보여질 테니, 에러 로그를 통해 오류 원인을 파악해보실 수 있겠구요.

혹은 실서비스 운영에서는 에러로깅을 해주는 sentry.io 서비스를 장고에 설정하여, 장고에서의 오류내역을 sentry 측에 기록하여 확인하는 방법을 많이 씁니다.

yezi9733님의 프로필

yezi9733

질문자

2022.12.30

Internal Server Error: /admin/login/
Traceback (most recent call last):
  File "/usr/lib/python3.10/zoneinfo/_common.py", line 12, in load_tzdata
    return importlib.resources.open_binary(package_name, resource_name)
  File "/usr/lib/python3.10/importlib/resources.py", line 43, in open_binary
    package = _common.get_package(package)
  File "/usr/lib/python3.10/importlib/_common.py", line 66, in get_package
    resolved = resolve(package)
  File "/usr/lib/python3.10/importlib/_common.py", line 57, in resolve
    return cand if isinstance(cand, types.ModuleType) else importlib.import_module(cand)
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'tzdata'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/django/core/handlers/exception.py", line 55, in inner
    response = get_response(request)
  File "/usr/local/lib/python3.10/dist-packages/django/core/handlers/base.py", line 220, in _get_response
    response = response.render()
  File "/usr/local/lib/python3.10/dist-packages/django/template/response.py", line 114, in render
    self.content = self.rendered_content
  File "/usr/local/lib/python3.10/dist-packages/django/template/response.py", line 92, in rendered_content
    return template.render(context, self._request)
  File "/usr/local/lib/python3.10/dist-packages/django/template/backends/django.py", line 62, in render
    return self.template.render(context)
  File "/usr/local/lib/python3.10/dist-packages/django/template/base.py", line 175, in render
    return self._render(context)
  File "/usr/local/lib/python3.10/dist-packages/django/template/base.py", line 167, in _render
    return self.nodelist.render(context)
  File "/usr/local/lib/python3.10/dist-packages/django/template/base.py", line 1005, in render
    return SafeString("".join([node.render_annotated(context) for node in self]))
  File "/usr/local/lib/python3.10/dist-packages/django/template/base.py", line 1005, in <listcomp>
    return SafeString("".join([node.render_annotated(context) for node in self]))
  File "/usr/local/lib/python3.10/dist-packages/django/template/base.py", line 966, in render_annotated
    return self.render(context)
  File "/usr/local/lib/python3.10/dist-packages/django/template/loader_tags.py", line 157, in render
    return compiled_parent._render(context)
  File "/usr/local/lib/python3.10/dist-packages/django/template/base.py", line 167, in _render
    return self.nodelist.render(context)
  File "/usr/local/lib/python3.10/dist-packages/django/template/base.py", line 1005, in render
    return SafeString("".join([node.render_annotated(context) for node in self]))
  File "/usr/local/lib/python3.10/dist-packages/django/template/loader_tags.py", line 157, in render
    return compiled_parent._render(context)
  File "/usr/local/lib/python3.10/dist-packages/django/template/base.py", line 167, in _render
    return self.nodelist.render(context)
  File "/usr/local/lib/python3.10/dist-packages/django/template/base.py", line 1005, in render
    return SafeString("".join([node.render_annotated(context) for node in self]))
  File "/usr/local/lib/python3.10/dist-packages/django/template/base.py", line 1005, in <listcomp>
    return SafeString("".join([node.render_annotated(context) for node in self]))
  File "/usr/local/lib/python3.10/dist-packages/django/template/base.py", line 966, in render_annotated
    return self.render(context)
  File "/usr/local/lib/python3.10/dist-packages/django/template/defaulttags.py", line 389, in render
    tzinfo = timezone.get_current_timezone() if settings.USE_TZ else None
  File "/usr/local/lib/python3.10/dist-packages/django/utils/timezone.py", line 96, in get_current_timezone
    return getattr(_active, "value", get_default_timezone())
  File "/usr/local/lib/python3.10/dist-packages/django/utils/timezone.py", line 82, in get_default_timezone
    return zoneinfo.ZoneInfo(settings.TIME_ZONE)
  File "/usr/lib/python3.10/zoneinfo/_common.py", line 24, in load_tzdata
    raise ZoneInfoNotFoundError(f"No time zone found with key {key}")
zoneinfo._common.ZoneInfoNotFoundError: 'No time zone found with key asia/seoul'
[2022-12-30 07:33:47 +0000] [1] [INFO] Handling signal: winch

 

터미널에서 뜨는 에러내역은 이렇습니다!

DEBUG=True 해놓았지만 오류내역대신 Server Error (500)가 표시되는건 여전하네요

settings 내 TIME_ZONE 문자열을 "asia/seoul"이 아니라 "Asia/Seoul" 로 고쳐보시고,
리눅스는 파일/폴더에 대한 대소문자 구별을 합니다. 윈도우/맥은 대소문자 구별을 하지 않지만요.

혹시 해결되지 않는다면, tzdata 라이브러리가 없다는 오류가 있는 데, tzdata 라이브러리도 설치해보세요.

yezi9733님의 프로필

yezi9733

질문자

2022.12.30

제목 없음3.png

제목 없음5.png

 

제목 없음4.png

제목 없음6.png

 

tzdata추가후 Asian/Seoul로 고쳤더니 500에러는 사라졌습니다만 해당오류가 뜹니다.

404가 뜨는것을보니 불러오는것을 실패한것 같은데 왜인지 모르겠습니다...

장고 개발서버 로컬에서의 정적파일 서빙은 python manage.py runserver 서버에서 DEBUG=True 일 때에만 정적서빙이 이뤄집니다. python manage.py runserver를 사용하지 않거나, DEBUG=False 상황에서는 정적파일 서비스가 이뤄지지 않습니다. 해당 요청을 처리하는 기능이 비활성화됩니다.

gunicorn을 사용하시는 상황이라면, DEBUG=True 이더라도 정적파일 서빙을 하지 않습니다. // azure storage로 복사한 것과 별개로 현재의 장고 프로젝트가 애저 스토리지를 바라보고 있어야 합니다. settings.prod 에 애저 스토리지 설정을 해두셨다면 settings.prod 설정을 활성화시키셔야 애저 스토리지에 대한 정적 파일 서빙 기능이 활성화될 것입니다.

yezi9733님의 프로필

yezi9733

질문자

2022.12.30

네 혹시나 해서 집와서 확인해보니 실수가 하나있었습니다

tzdata
pytz

두개를 인스톨해주고 환경변수 azure 설정한부분을 문자열로 입력해보고 실행해본결과 제대로 놔와서 다시 확인해봤더니 환경변수 설정하는곳에서 KEY가 조금 짤려있었더라고요.

타임존 오류랑 합쳐지니 확인도 잘 못해보구 강사님 덕분에 오늘도 좋은 지식들 알아갑니다!!