【发布时间】:2012-08-18 21:29:47
【问题描述】:
你好 Stackoverflow 的人,
我想用脆皮应用程序设置表单集的样式,但这会引起一些悲伤。
一个非常简单的模型应该展示四次。
class ItemPicture(models.Model):
item = models.ForeignKey('Item')
picture = ThumbnailerImageField(_('Image'),
upload_to='pictures/', null=True, blank=True,)
表单类也很简单:
class ItemPictureForm(forms.ModelForm):
class Meta:
model = ItemPicture
fields = ('picture',)
def __init__(self, *args, **kwargs):
self.helper = FormHelper()
self.helper.form_tag = False
self.helper.layout = Layout(
Fieldset(_('Add pictures'),'picture', ),
ButtonHolder(
Submit('save', _('Add'), css_class='btn btn-primary '),
Reset('reset', _('Cancel'), css_class='btn')))
super(ItemPictureForm, self).__init__(*args, **kwargs)
在我的views.py中,我生成了表单集:
class ItemUploadPictures(FormView):
ItemPictureFormSet = formset_factory(ItemPictureForm, extra=4)
form_class = ItemPictureFormSet
template_name = 'item_upload_pictures.html'
success_url = reverse_lazy('dashboard')
我的麻烦是crispy在模板中期望{% crispy formset formset.form.helper %},但似乎传递的变量是form。
{% crispy form %} 有效,但不会显示辅助属性。 如何将整个表单集信息传递给模板?
感谢您的建议。
【问题讨论】:
-
将表单集创建为表单的属性,然后执行以下操作:{% crispy form.formset form.formset.form.helper %}。祝你好运。
标签: django django-class-based-views django-forms django-crispy-forms