03. 정적 파일과 업로드 디렉토리

Django 설정

정적 데이터 디렉토리 설정

STATIC_URL = '/assets/'
STATIC_ROOT = os.path.join(BASE_DIR, 'assets/')
STATICFILES_DIRS = [
]

업로드 파일 미디어 디렉토리 설정

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')

DEBUG 모드일 때 urlpatterns

운영서버가 아니라 DEBUG 모드일 때는 아래와 같이 urlpatterns 변수를 정의해야 한다.

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

collectstatic

흩어진 정적 파일을 복사하여 한 곳으로 모은다.

$ python manage.py collectstatic

NGINX 설정

server 블록에 /assets/, /media/ 위치에 대한 경로 설정을 해준다.

server {
    # ... 생략 ...

    location /assets/ {
        root /var/www/com.example.www/repo;
        access_log   off;
        expires      30d;
    }

    location /media/ {
        root /var/www/com.example.www/repo;
        access_log   off;
    }

    # ... 생략 ...
}

최종 수정일시: 2019-02-14 23:02

blog comments powered by Disqus