개발 중에는 Django가 자동으로 정적 파일을 제공하므로 STATIC_ROOT는 사실상 쓸모가 없습니다. 각 앱의 디렉토리. 배포 중에 STATIC_ROOT는 Nginx가 정적 콘텐츠를 찾고 제공하는 데 매우 중요합니다.
STATIC_ROOT는 Django가 prepare.py를 실행한 후 모든 정적 파일을 수집하고 출력하는 위치를 지정합니다. . 이 위치는 웹사이트를 제공하는 웹 서버(예: Nginx)에서 액세스할 수 있어야 합니다.
STATICFILES_DIRS는 검색할 Collectstatic에 대한 추가 디렉터리를 포함할 수 있는 선택적 설정입니다. 정적 파일의 경우. 이는 기본 앱 디렉터리 외부에 정적 파일이 있는 경우 유용합니다.
제공하신 코드에 따르면 JS 파일이 STATIC_ROOT에 지정된 위치에서 찾을 수 없습니다. 이는 admin.py가 STATIC_ROOT가 아닌 STATICFILES_DIRS의 admin/ 하위 디렉터리에서 파일을 찾기 때문입니다.
STATICFILES_DIRS로 변경하면 JS 파일이 있는 경로가 포함되어 있으므로 이 문제를 해결할 수 있습니다.
Setting | Purpose | Deployment |
---|---|---|
STATIC_FILES_DIR | Additional directories for static files | n/a |
STATIC_ROOT | Location where static files are collected | Required |
MEDIA_ROOT | Location for user-uploaded files | n/a |
위 내용은 다음은 질문 형식을 강조하는 몇 가지 제목 옵션입니다. * **STATIC_FILES_DIR, STATIC_ROOT 및 MEDIA_ROOT: 차이점은 무엇이며 각각 언제 사용합니까?** * **Django 배포: STAI가 필요한 이유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!