2017-12-10 57 views
0

장고 프로젝트의 모든 부트 스트랩 파일을 한 폴더에서만 찾고 참조하려고합니다.Django 정적 파일 404 오류

STATIC_URL = '/static/' 
STATIC_ROOT = os.path.join(BASE_DIR, 'static') 

내 base.html은 다음과 같습니다 : 그렇게하기 위해 내가 setting.py 다음 줄을 추가 한

{% load static %} 
<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Muplay</title> 
    <link rel="stylesheet" type="text/css" href="{% static'css/bootstrap.css' %}"> 
    <script src="{% static 'js/bootstrap.js' %}"></script> 
</head> 
<body style="background-color: #F2F2F5"> 
    {% include 'snippets/nav.html' %} 
    <div class="container"> 
     {% block content %}{% endblock %} 
    </div> 
</body> 
</html> 

나는 다른 HTML 파일의 CSS는이 base.html을 확장 할 때 js 파일이 브라우저에 성공적으로로드되었습니다. 그러나, 문제는 다음과 같이 터미널에서, 장고는 404 오류를 반환한다는 것입니다 :

그 정적 파일이 성공적으로 브라우저에서로드되는 동안 장고 (404) 코드를 반환하는 이유
[10/Dec/2017 14:03:27] "GET /static/js/bootstrap.js HTTP/1.1" 404 1759 
[10/Dec/2017 14:03:27] "GET /static/css/bootstrap.css HTTP/1.1" 404 1765 

?

답변

2

STATIC_ROOT는 설정 파일에 STATICFILES_DIRS을 추가, 제거

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'), 
) 

STATICFILES_DIRS (개발 기간 동안 권장) :.

이 설정은 staticfiles의 앱이 FileSystemFinder 경우 통과 될 위치를 추가로 정의를 파인더가 사용 가능합니다. collectstatic 또는 findstatic 관리 명령을 사용하거나 정적 파일 제공보기를 사용하는 경우.

는 귀하의 추가 파일 디렉토리에 전체 경로를 포함하는 문자열 목록으로 설정해야합니다

STATIC_ROOT :

collectstatic 배포 정적 파일을 수집 할 디렉토리의 절대 경로.

STATIC_ROOT을 사용하려는 경우 python manage.py collectstatic 명령을 실행하면 모든 정적 파일이 STATIC_ROOT에 언급 된 고정 디렉토리에 수집됩니다. 이는 배포 중에 사용됩니다.

자세한 설명서는 here입니다.

+0

고마워요! 그것은 효과가있다! –