ファイルサイズ制限をする方法を調べてみた。(画像を圧縮する実装も、それはそれで大変なので、ファイルサイズ制限にしてみた)
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以下にしてください.')
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 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')
if form.is_valid():
com=form.save(commit=False)
com.community_photo=request.FILES.get('community_photo')
.....
0 件のコメント:
コメントを投稿