Django
Django ImageField 저장 안 될 때 enctype
끈끈
2023. 4. 13. 09:29
패키지 설치
pip install Pillow
프로젝트 settings.py:
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
프로젝트 urls.py:
from django.conf.urls.static import static
from django.conf import settings
urlpatterns = [
path('admin/', admin.site.urls),
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
앱 models.py:
image = models.ImageField(upload_to='', null=True, blank=True)
앱 views.py:
image = request.FILES.get('image')
html:
<!-- 포스트 이미지를 가져오는 곳-->
<img class="card-img-top" src="{{ post.image.url }}" alt="..."/>
등록한 이미지 파일의 경로와 이름은 잘 들어오는데
파일은 저장되지 않는 문제 발생!!!!
create.html:
<form class="form-area" method="post" action="{% url 'post_create' %}" enctype="multipart/form-data">
form 태그의 각 속성은 아래와 같다
- name : form의 이름
- method : 전송 방식(default는 GET)
- action : 전송 목적지
- autocomplete : 자동 완성
- enctype : 전송되는 데이터의 형식(전송방식이 POST인 경우)
아무리 해도 들어가지 않더니
enctype="multipart/form-data" <<<추가하니 바로 해결! 얄루