Я пытаюсь использовать мою пользовательскую форму в modelformset_factory, но когда я устанавливаю атрибут 'form' в modelformset_factory в свою пользовательскую форму, ничего не отображается. Я просмотрел документацию и не могу найти причину, по которой моя пользовательская форма не загружается.
это представление:
@login_required
def post_create(request):
data = dict()
ImageFormset = modelformset_factory(Images,form=ImageForm,extra=4)
if request.method == 'POST':
form = PostForm(request.POST)
formset = ImageFormset(request.POST or None, request.FILES or None)
if form.is_valid():
post = form.save(False)
post.author = request.user
#post.likes = None
post.save()
for f in formset:
try:
i = Images(posts=post, image=f.cleaned_data['image'])
i.save()
except Exception as e:
break
data['form_is_valid'] = True
posts = Post.objects.all()
posts = Post.objects.order_by('-last_edited')
data['posts'] = render_to_string('home/posts/home_post.html',{'posts':posts},request=request)
else:
data['form_is_valid'] = False
else:
form = PostForm
formset = ImageFormset(queryset=Images.objects.none())
context = {
'form':form,
'formset':formset,
}
data['html_form'] = render_to_string('home/posts/post_create.html',context,request=request)
return JsonResponse(data)
это моя пользовательская форма:
class ImageForm(forms.ModelForm):
image = forms.FileField(
label='',
widget = forms.FileInput(
attrs={
'style':'display: none;',
'class':'form-control',
'required': False}))
class Meta:
model = Images
fields = ('image', )
И это то, что я использую для загрузки набора форм:
{{ formset }}
Оцените всю помощь заранее!