有人问了一些稍微相关的问题,但答案并没有真正帮助我。当我尝试实现其他地方建议的潜在好提示(自定义模板)时,我没有得到想要的结果。
在我的模板中,我正在遍历字典中的一组键。字典本身源于提交 Django 表单集。
XML 模板片段:(我正在渲染到 XML 文件)
{% for x in range %}
<file type="{{ form-'x'-type }}" viewpath="{{ form-'x'-file }}"/>
{% endfor %}
以上显然是行不通的。迭代有效。该range
变量是对应于range(int(request.POST['form-TOTAL_FORM']))
从视图传递到 XML 模板的 python 参数。
在模板的每次迭代中,我需要{{ form-0-type }}
, {{ form-1-type}}
,{{ form-2-type }}
等。
我怎么做?如果我真的需要为此使用自定义过滤器,我该怎么做?
我希望这个问题(和答案)能帮助许多有同样问题的人。
谢谢。
编辑:(已发布字典)
<QueryDict:
{
u'form-MAX_NUM_FORMS': [u'1000'],
u'form-INITIAL_FORMS': [u'0'],
u'form-TOTAL_FORMS': [u'2'],
u'form-0-type': [u'1'],
u'form-1-type': [u'2'],
u'csrfmiddlewaretoken': [u'LpkjdDcqRCL4VPM0SAuU7efgZjgeubTN']
}>
附加说明:在第二个视图中,我查找外键的值并将这些值放在另一个字典中,然后将其发送到我的 XML 模板。
执行此操作的代码片段:
detailed_request = {}
for x in range(0, int(request.POST['form-TOTAL_FORMS'])):
detailed_request['form-'+str(x)+'-type'] = Upload_Type.objects.get(pk=request.POST['form-'+ str(x)+'-type'])
detailed_request['form-'+str(x)+'-file'] = request.FILES['form-'+str(x)+'-file']
以上是一个工作片段。当我追踪时detailed_request
,我拥有我需要的所有信息:
{
'form-1-type': <Upload_Type: malib>,
'form-0-type': <Upload_Type: axf_file>
}