gpt4 book ai didi

django - 在 django-crispy-forms 中使用 formset 渲染表格行

转载 作者:行者123 更新时间:2023-12-04 19:07:01 25 4
gpt4 key购买 nike

我想将实例列表显示为 formsetdjango-crispy-formsbootstrap其中每个实例显示为一行,所有字段水平排列。

我能找到的所有例子似乎都是用垂直布局的字段来渲染实例的。

我想使用:

helper.form_class = 'form-horizontal'

可能会起作用,但这似乎没有效果。

最佳答案

这是让我找到解决方案的帖子,我在这里为那些刚开始使用脆皮形式的人提供更完整的解释

形式:

from crispy_forms.helper import FormHelper, Layout
...

class MyForm(forms.ModelForm):

class Meta:
model = MyModel
fields = ['field1', 'field2', 'field3']


MyFormSet = modelformset_factory(MyModel, form=MyForm, extra=0)


class MyFormSetHelper(FormHelper):
def __init__(self, *args, **kwargs):
super(MyFormSetHelper, self).__init__(*args, **kwargs)
self.layout = Layout(
'field1',
'field2',
'field3'
)
self.template = 'bootstrap/table_inline_formset.html'

意见:
formset = MyFormSet(queryset=my_qs)
helper = MyFormSetHelper()
context = {'formset': formset, 'helper': helper}
return render(request, 'my_template.html', context)

模板:
{% extends "base.html" %}
{% load crispy_forms_tags %}

{% block content %}

<form action="" method="post">
{% csrf_token %}
{% crispy formset helper %}
</form>

{% endblock content %}

关于django - 在 django-crispy-forms 中使用 formset 渲染表格行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21754918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com