Django
[Django] 사진 관련 설정
기록하는_사람
2022. 12. 20. 20:16
사진 관련 설정
📌 사진 관련 설정
① (config/urls.py)
from django.contrib import admin
from django.urls import path, include
from django.conf.urls.static import static
from . import settings
urlpatterns = [
path('admin/', admin.site.urls),
path('gal/', include('gal.urls'))
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
② (config/settings.py)
...
MEDIA_URL = "/media/"
MEDIA_ROOT = BASE_DIR/'media'
...
→ 사진들은 "/media/"에서 관리.
"/media/" 관련 URL을 document_root (BASE_DIR/'meida')에 있는 파일로 띄워준다는 의미.
사진 관련 설정 - ImageField
📌 ImageField
① (models.py)
class 사용자(models.Model):
userpic = models.ImageField(upload_to="...")
...
💡 upload 경로 나타낼 때, %y(년), %m(월), %d(일)와 같은 지시자 사용 가능.
💡 사진을 다루기 위해서는 'pip install pillow'를 해줘야 함.
사진 관련 설정 - 값 출력
📌 {{ g.pic }}, {{ g.pic.url }}
→ {{ g.pic.url }} 사용해서 사진 출력.
{{ g.pic.url }}은 사진의 절대경로를 나타냄.
사진 관련 설정 - 사진 전송
📌 form 태그를 사용해 사진을 전송할 때, enctype 속성의 속성 값을 'multipart/form-data'로 설정해야 함.
📌 views.py에서 데이터 받을 때, request.FILES를 사용해서 받아야 함.
💡 사진이 없는 경우, 에러 발생에 유의해야 함.