[解決済み] Django ファイルアップロードサイズ制限
2023-05-04 04:56:15
質問
私のdjangoアプリには、ユーザーがファイルをアップロードするためのフォームがあります。
アップロードできるファイルのサイズに制限を設け、ユーザーが制限以上のファイルをアップロードした場合、フォームが有効にならず、エラーを投げるようにするにはどうしたらよいでしょうか。
どのように解決するのですか?
このコードが役に立つかもしれません。
# Add to your settings file
CONTENT_TYPES = ['image', 'video']
# 2.5MB - 2621440
# 5MB - 5242880
# 10MB - 10485760
# 20MB - 20971520
# 50MB - 5242880
# 100MB 104857600
# 250MB - 214958080
# 500MB - 429916160
MAX_UPLOAD_SIZE = "5242880"
#Add to a form containing a FileField and change the field names accordingly.
from django.template.defaultfilters import filesizeformat
from django.utils.translation import ugettext_lazy as _
from django.conf import settings
def clean_content(self):
content = self.cleaned_data['content']
content_type = content.content_type.split('/')[0]
if content_type in settings.CONTENT_TYPES:
if content._size > settings.MAX_UPLOAD_SIZE:
raise forms.ValidationError(_('Please keep filesize under %s. Current filesize %s') % (filesizeformat(settings.MAX_UPLOAD_SIZE), filesizeformat(content._size)))
else:
raise forms.ValidationError(_('File type is not supported'))
return content
から引用しています。 Django Snippets - ファイルコンテンツタイプとサイズで検証する
関連
-
Djangoの基本(16)。テンプレートタグの紹介とそのカスタマイズ方法
-
ImproperlyConfiguredです。INSTALLED_APPS の設定を要求されたが、設定されていない
-
[解決済み] jQuery Ajax ファイルアップロード
-
[解決済み] Django のビューで 2 つ以上のクエリセットを結合するにはどうすればよいですか?
-
[解決済み] Django のモデルで on_delete は何をするのですか?
-
[解決済み】ASP.NETで最大アップロードファイルサイズを大きくする方法は?
-
[解決済み】Django MEDIA_URL と MEDIA_ROOT
-
[解決済み] Django REST フレームワーク: 非モデルシリアライザー
-
[解決済み] Django は静的ファイルの URL をビューで取得します。
-
[解決済み] django のユニットテストを複数のファイルに分散させるには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
django store to databaseは現地時間より8時間短い?(2021-05-12更新)
-
Django の ForeignKey パラメータの使用法
-
[解決済み] Django のビューで 2 つ以上のクエリセットを結合するにはどうすればよいですか?
-
[解決済み] Djangoでファイルをアップロードする方法は?[クローズド]。
-
[解決済み] pipと要件ファイルを使って、特定のパッケージをアップグレードするにはどうすればよいですか?
-
[解決済み] Django モデルで外部キーフィールドをオプションにすることはできますか?
-
[解決済み] Djangoテンプレートでネストされたforループで一番外側のforloop.counterにアクセスする方法は?
-
[解決済み] Djangoで異なる設定でUnitテストを行うには?
-
[解決済み] DjangoでSELECT COUNT(*) GROUP BYとORDER BYを行うにはどうすればよいですか?
-
[解決済み] list_display - メソッド用のブール型アイコンです。