"1. 장고 미디어 개요"의 두 판 사이의 차이
둘러보기로 가기
검색하러 가기
(→사전준비) |
|||
1번째 줄: | 1번째 줄: | ||
− | == | + | ==개요== |
+ | 사용자들이 업로드하는 이미지나 이런저런 미디어를 관리하는 설정을 해주어야 한다. | ||
+ | |||
기본적으로 스테틱과 유사하다. | 기본적으로 스테틱과 유사하다. | ||
+ | |||
+ | == 사전준비 == | ||
===경로지정=== | ===경로지정=== | ||
− | settings.py에서 경로를 지정해주어야 한다.<syntaxhighlight lang="python"> | + | settings.py에서 경로를 지정해주어야 한다. |
+ | {| class="wikitable" | ||
+ | !변수 | ||
+ | !설명 | ||
+ | !기입예시 | ||
+ | |- | ||
+ | |MIDIA_URL | ||
+ | |미디어에 접속하기 위한 주소는 어떻게 지정할 것인가? | ||
+ | |MIDIA_URL = '/media/' | ||
+ | |- | ||
+ | |MIDIA_ROOT | ||
+ | |올린 미디어 파일들을 어디에 저장할 것인가? | ||
+ | | MIDIA_ROOT = os.path.join(BASE_DIR, 'media') | ||
+ | |}<syntaxhighlight lang="python"> | ||
MEDIA_URL = '/media/' # 외부에서 접속할 URL 주소. | MEDIA_URL = '/media/' # 외부에서 접속할 URL 주소. | ||
MEDIA_ROOT = BASE_DIR / 'media' # 프로젝트에서 미디어파일을 저장할 경로. | MEDIA_ROOT = BASE_DIR / 'media' # 프로젝트에서 미디어파일을 저장할 경로. | ||
</syntaxhighlight>MEDIA_URL 속성 : 일반적으로 '/media/'라고 지정하는데, media의 url root를 설정하는 것이라 생각하면 된다. <code>도메인/media/</code>으로 접근하면 미디어 디렉터리의 루트에 이를 수 있다. ('http://도메인/media<nowiki/>/경로'로 접속하면 디렉터리 하위에 접근할 수 있다.) | </syntaxhighlight>MEDIA_URL 속성 : 일반적으로 '/media/'라고 지정하는데, media의 url root를 설정하는 것이라 생각하면 된다. <code>도메인/media/</code>으로 접근하면 미디어 디렉터리의 루트에 이를 수 있다. ('http://도메인/media<nowiki/>/경로'로 접속하면 디렉터리 하위에 접근할 수 있다.) | ||
− | + | ===pillow 설치=== | |
+ | pip install pillow : 장고에서 미디어파일을 관리해주는 라이브러리. | ||
=== 미디어 URl === | === 미디어 URl === | ||
그러나 스테틱과 달리, 위와같은 설정만으로 해당 파일에 접속할 수는 없다. 최상단의 urls.py에서 파일들을 연결해주기 위한 url을 작성해야 한다.<syntaxhighlight lang="python"> | 그러나 스테틱과 달리, 위와같은 설정만으로 해당 파일에 접속할 수는 없다. 최상단의 urls.py에서 파일들을 연결해주기 위한 url을 작성해야 한다.<syntaxhighlight lang="python"> |
2021년 6월 8일 (화) 11:10 판
1 개요
사용자들이 업로드하는 이미지나 이런저런 미디어를 관리하는 설정을 해주어야 한다.
기본적으로 스테틱과 유사하다.
2 사전준비
2.1 경로지정
settings.py에서 경로를 지정해주어야 한다.
변수 | 설명 | 기입예시 |
---|---|---|
MIDIA_URL | 미디어에 접속하기 위한 주소는 어떻게 지정할 것인가? | MIDIA_URL = '/media/' |
MIDIA_ROOT | 올린 미디어 파일들을 어디에 저장할 것인가? | MIDIA_ROOT = os.path.join(BASE_DIR, 'media') |
MEDIA_URL = '/media/' # 외부에서 접속할 URL 주소.
MEDIA_ROOT = BASE_DIR / 'media' # 프로젝트에서 미디어파일을 저장할 경로.
MEDIA_URL 속성 : 일반적으로 '/media/'라고 지정하는데, media의 url root를 설정하는 것이라 생각하면 된다. 도메인/media/
으로 접근하면 미디어 디렉터리의 루트에 이를 수 있다. ('http://도메인/media/경로'로 접속하면 디렉터리 하위에 접근할 수 있다.)
2.2 pillow 설치
pip install pillow : 장고에서 미디어파일을 관리해주는 라이브러리.
2.3 미디어 URl
그러나 스테틱과 달리, 위와같은 설정만으로 해당 파일에 접속할 수는 없다. 최상단의 urls.py에서 파일들을 연결해주기 위한 url을 작성해야 한다.
# 2개의 모듈을 추가해온다.
from django.conf.urls.static import static
from django.conf import settings
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
# static을 연결하는데, 경로는 settings에서 설정한 MEDIA_URL로,
# 실제경로는 settings에서 설정한 MEDIA_ROOT로 지정한다.
3 기억하면 좋을 사실
같은 이름의 파일을 올리면 알아서 다른 이름을 지정하여 저장해준다.