我有一个应用程序,可以在其中有多个报告,例如,某所学校的学生入学情况以及每个学科的学生成绩以及更多其他内容。这些报告接受非常相似的报告创建标准,例如,入学的学生采用日期范围的搜索条件,而学生成绩则采用日期范围和课程。
我使用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时可以循环通过该字段以呈现字段
最简单的方法是使用Jinjadictsort
过滤器
{% for field in wtfForm._fields|dictsort %}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句