首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用django-crispy-forms中的表单集呈现表格行

使用django-crispy-forms中的表单集呈现表格行
EN

Stack Overflow用户
提问于 2014-02-13 20:57:46
回答 2查看 3.2K关注 0票数 7

我希望将实例列表显示为具有django-crispy-formsbootstrapformset,其中每个实例显示为一行,所有字段水平排列。

我能找到的所有示例似乎都使用垂直布局的字段来呈现实例。

我认为使用:

代码语言:javascript
复制
helper.form_class = 'form-horizontal'

可能行得通,但似乎没有效果。

EN

回答 2

Stack Overflow用户

发布于 2018-02-22 00:38:21

这篇文章让我找到了一个解决方案,我在这里为那些刚刚开始使用易碎表单的人提供了一个更全面的解释

表格:

代码语言:javascript
复制
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'

视图:

代码语言:javascript
复制
formset = MyFormSet(queryset=my_qs)
helper = MyFormSetHelper()
context = {'formset': formset, 'helper': helper}
return render(request, 'my_template.html', context)

模板:

代码语言:javascript
复制
{% extends "base.html" %}
{% load crispy_forms_tags %}

{% block content %}

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

{% endblock content %}
票数 6
EN

Stack Overflow用户

发布于 2014-09-04 10:05:47

使用帮助器上的模板属性(文档化的here):helper.template = 'bootstrap/table_inline_formset.html'

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21754918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档