将字段标签放在 django 表中的第一行

Posted

技术标签:

【中文标题】将字段标签放在 django 表中的第一行【英文标题】:putting fields labels in django table in first row 【发布时间】:2021-11-03 23:34:30 【问题描述】:

我想:

    打印第一行的标签 将每个字段的设置为 45 像素 将第一列放在 C 将根据行枚举 1,2,3,... 的位置。

应该是这样的:

V x1 x2 direct RHS
C1 field field field field
C2 field field field field
C3 field field field field

在 page.html 的正文中:

<table>
    % for form in formset  %
        <tr>  form.label 
            % for item in form %
                <td style="width:10px; text-align: center"> item </td>
                    % if not item.label_tag = 'direction' %
                        ...do something...
                    % endif %
            % endfor %
        </tr>
    %  endfor %
</table>

在forms.py中:

class linprog_vars(forms.Form):
    x1 = forms.FloatField(label='x1')
    x2 = forms.FloatField(label='x2')
    direct = forms.CharField(label='direct')
    rhs = forms.FloatField(label='rhs')

Enviews.py

def linprog(request):
    extra_lines = 3
    formset = formset_factory(linprog_vars, extra=extra_lines)
    context = 'formset': formset
    return render(request, 'linprog/linprog.html', context)

【问题讨论】:

【参考方案1】:

我认为是这样的(未经测试)。表单集是相似表单的列表,因此所有表单的标签通常都是相同的。因此,只需遍历第一个 formset.0 中的字段即可挑选字段标签。

<table> 
  <thead>
  <tr>
    % for field in formset.0 % 
      <th style="...">  field.label  </th>
    % endfor %
  </tr>
  </thead>
  ...etc as in question
  

【讨论】:

以上是关于将字段标签放在 django 表中的第一行的主要内容,如果未能解决你的问题,请参考以下文章

怎样一个表中的2个查询结果合并到一个表中的两列

将标签和输入字段放在同一行,并带有填充

如何使用 SQL 查找表中的第一列和第一行

怎么把datatable里的第一行数据取出来呀

react-native-table-component 冻结可滚动表中的第一列和第一行

使用 JavaScript 向表中添加新行时重置输入字段