django - page not found 에러 해결법

권수민·2023년 8월 30일
1

계속 이러한 현상이 일어나 왜그런지 고민하다가 알게된 내용을 기록하려한다.

1. Debug = True ??

먼저 에러내용이 "you're seeing this error because you have DEBUG = TRUE in your setting file " 이렇게 맨 밑에 적어져 있는 것을 보고 setting.py에 들어가보니

"don't run with debug turned on in production!"

이렇게 써져있는 문구를 보았다.

즉, 배포시 실제서비스환경에서는 Debug=True해서는 안된다는 것이다.

REASONS

- 보안 문제:
오류페이지에 민감한 정보가 노출될 수 있다

- 성능 문제:
debug 모드에선 매 요청마다 많은 양의 sql쿼리 정보와 같은 추가 데이터가 저장 -> 메모리 사용량이 증가

- 데이터 노출:
로컬개발환경에서 사용하는 설정 또는 데이터베이스가 실제서비스환경에서 그대로 사용하면 -> 실제 유저 데이터에 대한 무분별한 접근 또는 변경이 가능.

- 환경설정 문제:
로컬개발환경에서는 디버깅을 위한 다양한 툴이나 미들웨어가 사용되어지며 이 도구들이 실 환경에서 실행된다면, 성능문제 또는 예기치 않은 오류를 발생시킨다 =>> 위 성능 문제와 연결되는 이유

어찌됐든

DEBUG = False를 해줬더니
ALLOWED_HOSTS = [] 따로 지정해 줘야 합니다.( 모두 하고 싶다면['*'])

하지만 이게 이유는 아니었고

2. 다른 여러 이유들

2.오타 확인(url 패턴 확인, url주소확인..etc)

3. python manage.py runserver 터미널에 장고서버제대로 활성화 됐는지 체크 -> 서버재시작(run 다시)

4.setting.py installed_apps 해당 앱 추가되어있는지 확인하고

5.views.함수안에 HttpResponse 객체를 반환하고 있는지 다 확인

6. 브라우저 캐시 제거(가끔 캐시떄문에 최신변경사항이 반영되지 않을 수도 있어서)

7.pycharm을 끄고 다시 시작

이유는 마지막 7.....이 이유였다..
이유는 모르겠지만 간혹가다 IDE에 문제가 생기는 것 같다.

profile
초보개발자

0개의 댓글