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. 장고 웹서비스]] |