유저의 프로필 화면에 사진도 있어야 겠조?
그러기 위해선 사진을 다루기 위한 설정이 있어 줘야해요. MTV 패턴이 진행되기전 중간중간 연결고리와 초기 설정부분에 대해서 한번 다루어 볼게요.
settings.py
STATIC_URL = '/static/'
STATIC_ROOT = BASE_DIR / 'staticfiles'
STATICFILES_DIRS = [
BASE_DIR / 'static',
]
LOGIN_REDIRECT_URL = reverse_lazy('accountapp:hello_world')
LOGOUT_REDIRECT_URL = reverse_lazy('accountapp:login')
MEDIA_URL = '/media/'
MEDIA_ROOT = BASE_DIR / 'media'
MEDIA_URL은 해당 URL로 가야지 미디어 파일에 접근 할 수 있다는 말이에요. 쉽게 생각해서 urls.py 파일에서 urlpattern의 path()메서드의 첫번째 url패턴과 같이 해당 url로 접근해야 view를 호출 하게 되조?
그런 방식이라고 쉽게 생각하면 좋을 듯 합니다.
예. 127.0.0.1:8000/media/test.jpg
ROOT는 뭐조? 근본, 뿌리입니다. 그럼 정적파일인 사진이 있는 근본과 뿌리는? 해당 파일이 모여있는 디렉토리가 되겠조?
그래서 os.path.join(BASE_DIR, 'media')로 경로를 명시하거나 BASE / 'media'로 경로를 명시하여 해당 사진 파일이 어디에 있는지 실제 접근하게되요.
정리해보면, url은 주소창에 /static/경로를 통해서 해당 사진 파일에 접근할 수 있도록 해주고요.
root는 해당 사진 파일이 실제 어느 경로에 저장되어 있는지 최종 종착지를 알려준다고 생각하면 쉬워요.
통로와 종착지? 이렇게 생각하면 될까요?
사진을 조물딱 해주는 패키지를 설치해줄게요.
pip install Pillow