Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 인천남중
- 서버로그
- 노트북덮개
- 인하멘토링
- jaypark.dating
- graphicdriver
- 개발자회고
- 로그남기기
- 나는리뷰어다
- machinelearning
- 놀이동산의슈퍼컴퓨터를작동시켜라
- 프로그래머스
- 프로그라피
- tacotron
- intell
- 결과를얻는법
- 서구동구예비군훈련장
- 2019회고
- 한빛미디어
- 심플소프트웨어
- 쇠막대기
- CrossAngle
- 인하대학교
- 우분투비트확인
- Xangle
- 타코트론
- 봉사활동
- 개발자를위한파이썬
- 신영준
- texttospeech
Archives
- Today
- Total
jc.jang
이미지 파일만 입력 받기 본문
에러내용
-
이미지가 아닌 파일 입력 시 에러 발생
원인
-
입력 받은 파일을 pillow를 통해 open하려고 해서 에러가 발생함
해결 방법
-
Django의 form을 이용해서 해결
- generator/forms.py
from django import forms
from django.forms import ValidationError
def image_file_extension_check(value):
filename_ext = value.name
filename_ext = filename_ext.split('.')[-1]
imagefile_ext = ['JPG', 'jpg', 'PNG', 'png']
if filename_ext not in imagefile_ext:
raise ValidationError('{} 파일 확장자는 지원하지 않습니다.'.format(filename_ext))
class GeneratorForm(forms.Form):
headline = forms.CharField(required=True, label='헤드라인')
content = forms.CharField(required=True, label='기사내용')
background_image = forms.ImageField(required=False,
label='뉴스 배경 화면',
help_text='검정 배경에 들어갈 사진을 입력하세요.',
validators=[image_file_extension_check]
) # 1280x720
headline.widget.attrs.update({'placeholder': '흰색 영역에 들어갈 내용을 입력하세요.'})
headline.widget.attrs.update({'autocomplete': 'off'})
content.widget.attrs.update({'placeholder': '노란색 영역에 들어갈 내용을 입력하세요.'})
content.widget.attrs.update({'autocomplete': 'off'})
- validation을 위해 image_file_extension_check 함수를 만들었다.
- generator/views.py
def fake_news_generator(request):
if request.method == 'POST':
form = forms.GeneratorForm(request.POST, request.FILES)
if form.is_valid():
pass
else:
pass
- else 구문을 추가하여 사진 파일이 아닐 경우를 처리한다.
'프로젝트 > 가짜 뉴스 생성기' 카테고리의 다른 글
이미지가 회전되는 버그 수정 (0) | 2019.09.18 |
---|---|
가짜 뉴스 만들기 fake-news-generator (0) | 2019.09.17 |
Comments