바뀜

둘러보기로 가기 검색하러 가기
1,398 바이트 추가됨 ,  2023년 1월 4일 (수) 11:04
편집 요약 없음
22번째 줄: 22번째 줄:  
|앱별로 흩어진 static파일을 모으기 위한 경로.(웹서버에서 사용하기 위해서.) STATICFILES_DIRS과 겹치면 안된다.
 
|앱별로 흩어진 static파일을 모으기 위한 경로.(웹서버에서 사용하기 위해서.) STATICFILES_DIRS과 겹치면 안된다.
    +
검색되는 스태틱 파일들을 모두 한 곳에 모은다. 그 모으는 곳의 위치를 지정하는 옵션이다.
   −
STATICFILES_DIRS의 모든 경로들을 복사한다.
+
python manage.py collectstatic 명령을 쓰면 여기에 모인다.(보통 서버에서 실행한다.)
 
  −
collectstatic 명령을 쓰면 여기에 모인다.
      
개발자가 지정하지 않은, 장고에서 지원하는 static파일도 이곳에 모인다.
 
개발자가 지정하지 않은, 장고에서 지원하는 static파일도 이곳에 모인다.
    
(깃에서도 이 디렉터리 빼주는 게 맞지 않을까?)
 
(깃에서도 이 디렉터리 빼주는 게 맞지 않을까?)
 +
 +
보통 <code>STATIC_ROOT = BASE_DIR / 'staticfiles'</code>로 둔다.
 
|}
 
|}
 +
===collectstatic===
 +
프로젝트에서 사용하는 모든 정적 파일들을 모아 하나의 경로에 모아준다.(서버에서 참고할 곳을 지정하여 사용할 수 있게끔)
 +
 +
일반적으로 서버에선 static이라는 키워드로 하나의 디렉터리를 지정하는데, 이들을 한데 모아두어야 서버에서 참조해 활용할 수 있다.
 +
 +
python manage.py collectstatic
 +
 +
그런데, 개발 settings에서는 STATICFILES_DIRS를 사용해야 하고, 운영 settings에서는 STATIC_ROOT를 사용해야 한다. 이처럼 세팅을 분리한 경우엔
 +
 +
<code>python manage.py collectstatic --settings=config.service_settings</code> 형태로 개발용 세팅으로 실행해준다.
 +
 +
CommandError: Collecting static files cancelled. 에러가 나면 python manage.py collectstatic
 +
 +
=== yes 입력 ===
 +
서버에서 실행할 때 입력값을 넣어야 해서 자동실행이 막히곤 한다. --noinput으로 yes 입력을 해야 하지만.. collectstatic은 기본값이 없어 --noinput이 먹히지 않는다. 때문에 다음과 같이 기입하면 된다.
 +
 +
<code>echo yes | python manage.py collectstatic</code>
 +
[[분류:4. 장고 스테틱]]
 +
[[분류:6. 장고 웹서비스]]

둘러보기 메뉴