Flask将字段组成一个有序列表

时间:2013-09-13 15:05:58

标签: python flask flask-wtforms

我有一个应用程序,我可以有多个报告示例学生在学校注册,每个科目的学生成绩等等。这些报告接受非常相似的报告创建标准,例如注册的学生采用日期范围的搜索标准,学生结果采用日期范围和课程。

我使用WTF烧瓶表格来表示这些报告搜索标准表格中的每一个 例如:

class StudentsEnrolledReportCriteriaForm(Form):
    reportEndDate = DateField(u'End Date', id='reportEndDate')
    reportStartDate = DateField(u'Start Date', id='reportStartDate')

class StudentResultsReportCriteriaForm(Form):
    reportEndDate = DateField(u'End Date', id='reportEndDate')
    reportStartDate = DateField(u'Start Date', id='reportStartDate')
    course= TextField(u'Course Subject', id='course')

现在在渲染时我想只有一个模板来渲染所有报告条件表单。我正在考虑创建一个模板,然后循环烧瓶表单中的字段以在模板中显示它们。但是,如果我这样做,我无法控制字段将在模板中显示的顺序。

例如:

{% for field in wtfForm._fields %}
//Display each of these fields but since its a dictionary the order will not be same everytime
{% endfor %}

有人可以建议我如何将烧瓶表单字段转换为有序列表,当传递给UI时可以循环播放字段

1 个答案:

答案 0 :(得分:1)

最简单的方法是使用Jinja dictsort filter

{% for field in wtfForm._fields|dictsort %}