# myapp/__init__.py import your_module your_module.initializer()
처음에는 링크 된 질문에 제안 된 솔루션이 터미널에서 "hello world"메시지를 두 번 제기했습니다. 문제는 미들웨어의 실행을 종료하기 위해 가운데로 네 운동 예외를 사용하는 데 있습니다.
Django 1.7부터 시작 하여이 문제를 해결하기위한 전용 후크가 도입되었습니다. 앱의 AppConfig 클래스에서 준비된 메소드를 재정의하면 시작 전용 코드를 지정할 수 있습니다. 이 접근법은 미들웨어를 사용하는 것보다 깨끗하고 명백합니다.
1.7 이전의 django 버전의 경우 시작 코드를 __init__.py 파일에 배치하는 것이 효과적인 것으로 입증되었습니다. 이 코드는 애플리케이션이 처음로드 될 때 실행되므로 한 번만 실행됩니다.
여기 에이 접근법에 대한 코드 배치의 예가 있습니다. your_module을 가져옵니다 your_module.initializer ()
./manage.py runserver 명령을 사용하면 내부 서버 유효성 검사 프로세스로 인해 초기화 코드가 두 번 실행될 수 있습니다. 그러나 일반적인 배포 시나리오 또는 Runserver의 자동 재 장전 중에 코드는 한 번만 실행됩니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3