2022年8月17日水曜日

Django 覚書7

 ファイルサイズ制限をする方法を調べてみた。(画像を圧縮する実装も、それはそれで大変なので、ファイルサイズ制限にしてみた)

https://www.sea2800.com/?p=513

Modelのほうに、コードを入れるほうがいいようだ。

 community_photo=models.ImageField("コミュニティ画像",upload_to='community_photos/',null=True,blank=True,validators=[file_size])

def file_size(value):
    limit = 500000
    if value.size>limit:
        raise ValidationError('画像サイズは、500KB以下にしてください.')


ただ、Viewでは関数を使っていたので、若干の注意が必要だった。

@login_required
def community_create(request):
    if request.method == "POST":
        form = CommunityForm(request.POST,request.FILES) 
   #defのときは、やはりrequest.FILESが必須のようだ。これがないとうまくいかない。
        if form.is_valid():
            com=form.save(commit=False)
            com.community_photo=request.FILES.get('community_photo')
   .....

0 件のコメント:

コメントを投稿