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
Author And Source
이 문제에 관하여(DRF 난중일기 2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hdyang0686/DRF-난중일기-2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)