DRF 난중일기 2

이번에는 저번 DRF 난중일기에 이어 추가적인 사항을 몇개 더 정리하였다.

1. DRF + Heroku static 설정 오류

DRF를 Heroku에 올린후 따로 설정을 하지 않으면 이미지나 CSS 같은 static 파일에 오류가 생겨 페이지가 매우 초라해진다. 이때 다음과 같은 설정을 해주자.

setings.py

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

# Extra places for collectstatic to find static files.
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)

그리고 한가지 더 중요한 점은 다음과 같은 명령어를 쳐주는 것이다.

python manage.py collectstatic

여기서 만약 오류가 난다면, staticfiles 이나 static 폴더를 미리 만들어 놓고 다시 한 번 명령어를 쳐보면 된다.

2. DRF media 파일 서빙 오류

DRF에서 media 파일을 저장/서빙 하기 위해서는 다음과 같이 설정해준다.

setings.py

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

urls.py

urlpatterns = [
    path('api-auth/', include('rest_framework.urls')),
    path('', include(router.urls)),
    path('auth/', include('accounts.urls')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

하지만 위의 설정만 하면 파일이 저장은 되지만 서빙이 되지 않는다.

왜?????

답은 간단하다. 디버그 모드를 켜주자.
이거 하나 때문에....

setings.py

DEBUG = True

좋은 웹페이지 즐겨찾기