タイトル通りです。
現在、フォームからコンテンツと画像をアップロードするシステムを作っています。
ただ、画像は複数選択可能とし、選択なしでも動作するようにしたいのですがうまくいきません。
参考にしたサイトは、ここです。どこの設定にミスがあるのでしょうか?
以下にイメージと該当コードを示します。
model.pyにてImageFieldを記述しています。ここでblank=Trueとしています。
from django.db import models def get_app_image_path(instance, filename): return 'image-{0}/{1}'.format(instance.id, filename) class App(models.Model): title = models.CharField(max_length=10) content = models.TextField(max_length=50) image = models.ImageField(upload_to=get_app_image_path, null=True, blank=True)
続いてforms.py
from django import forms from .models import App class AppForm(forms.ModelForm): image = forms.ImageField( widget=forms.ClearableFileInput(attrs={'multiple': True}), ) class Meta: model = App fields = ["title", "content", "image", ]
最後に、views.pyです
class AppCreateView(CreateView): model = App form_class = AppForm success_url = reverse_lazy("index") def portfolio_edit_post(request): if request.method == 'POST': image_form = AppForm(request.FILES) if image_form.is_valid(): portfolio_images = request.FILES.getlist('image', False) for image in portfolio_images: image_instance = App( image=image, ) image_instance.save()
viewの記述が自身でも理解できていない点があるので、そこかと想像しているのですがどうでしょうか?ご教授、よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。