#https://qiita.com/ekzemplaro/items/07abd9a941bcd0eb5834を参考にしてファイルをアップロードする処理を作成しています。
#通常の分は問題なくアップロードできたのですが、ファイルサイズが0の分をアップロードすると当然エラーになります。サイズが0なら処理を中断させる方法はありますでしょうか?
#request.FILES.sizeで確認しようと思ったのですが中身無しの分はアクセスするとエラーになってしまいます。
#回答頂いた方の処理を行いましたがvalueerrorでした
python
1from django import forms 2from django.core.exceptions import ValidationError 3 4 5def size_valid(f): 6 try: 7 size = f.size 8 except: 9 raise ValidationError("サイズエラー") 10 11class UploadFileForm(forms.Form): 12 file = forms.FileField(validators=[size_valid])
log
1ValueError at /trade_xls/create 2The view trade_xls.views.create didn't return an HttpResponse object. It returned None instead. 3Request Method: POST 4Request URL: http://192.168.168.132/carcass/trade_xls/create 5Django Version: 3.0.7 6Exception Type: ValueError 7Exception Value: 8The view trade_xls.views.create didn't return an HttpResponse object. It returned None instead. 9Exception Location: /usr/local/lib/python3.6/site-packages/django/core/handlers/base.py in _get_response, line 126 10Python Executable: /usr/bin/python3 11Python Version: 3.6.8 12Python Path: 13['/home/sun/carcass', 14 '/usr/lib64/python36.zip', 15 '/usr/lib64/python3.6', 16 '/usr/lib64/python3.6/lib-dynload', 17 '/usr/local/lib64/python3.6/site-packages', 18 '/usr/local/lib/python3.6/site-packages', 19 '/usr/lib64/python3.6/site-packages', 20 '/usr/lib/python3.6/site-packages'] 21Server time: 木, 25 6月 2020 18:41:32 +0900
#細部あってるかどうかわからないのですが変更しましたが、エラーは同じでした
python
1from django import forms 2from django.core.exceptions import ValidationError 3 4 5 6 7 8class UploadFileForm(forms.Form): 9 file = forms.FileField() 10 def clead_file(self): 11 file= self.cleaned_data.get("file") 12 if not file: 13 raise ValidationError("サイズエラー") 14 return file 15
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/25 10:27
2020/06/25 11:06 編集
2020/06/25 11:47 編集
2020/06/26 00:41