ryotankの備考録日記

趣味の電子工作についての備考録などなど

基板設計記録WEBアプリその30

画像のバリデーション(入力チェックの事)を実装する


コードはforms.pyに書く

Python3系だとValidationErrorの書き方が少し変更されている

raise forms.ValidationError

と書かないとデバッグ出来ない

今回は
jpegpng以外のものはアップロード出来ない
・25MB以上の画像ファイルはアップロード出来ない
というバリデーションを設ける

#forms.py

class UploadImgForm(forms.Form):
	avatar = forms.ImageField(required=True)
	def Img_avatar(self):
'''
1.fileformat
2.filesize
'''
	avatar = self.cleaned_data['avatar']

   	if not avatar:
		raise forms.ValidationError('投稿されたデータが画像ではありません!')

	IMG_SIZE = 25*1000*1000
	if avatar.size > IMG_SIZE:
		raise forms.ValidationError(
			'画像サイズが大きすぎます。%sMBより小さいサイズの画像を入れてください。'  \
			% str(IMG_SIZE//1000//1000)
		)

	return avatar

次回は、ちゃんとバリデーションを出来ているか確認する