Django 模板中的嵌套字典
nested dictionary in Django template
我正在使用 Django 模板,我遇到了一个嵌套字典的问题。
{'Engineering Mathematics 1': {'Nov Dec - 2017': <FieldFile: Previous/Nov_Dec_2017.pdf>},
'Engineering Physics': {'Nov Dec - 2016': <FieldFile: Previous/Nov_Dec_2016.pdf>,
'Nov Dec - 2018': <FieldFile: Previous/Nov_Dec_2018.pdf>,
'Nov Dec - 2019': <FieldFile: Previous/Nov_Dec_2019.pdf>,
'May June - 2017': <FieldFile: Previous/May_Jun_2017.pdf>,
'May June - 2018': <FieldFile: Previous/May_Jun_2018.pdf>,
'May June - 2019': <FieldFile: Previous/May_Jun_2019.pdf>}}
我试图通过嵌套 for 循环打印 HTML 页面中的所有数据。但它在 HTML 页面上不起作用。我已经在 Django shell 中尝试了代码并且它工作得很好但是当我来到 HTML 页面时它不工作。
HTML代码
{%for i, j in my_dict.items%} <----- from this line, code not working
<h3> {{i}} </h3>
{%for k, v in j.items%}
{{k}} ---> {{v}}
{%endfor%}
{%endfor%}
当我在 HTML 中尝试以下代码时,它会打印主词典 key_value
{%for i in my_dict%}
<h3> {{i}} </h3>
{%endfor%}
上面代码的输出来了
'Engineering Mathematics 1'
'Engineering Physics'
你的代码在我的 django 上运行良好。
它打印出这些html。
Engineering Mathematics 1
Nov Dec - 2017 ---> <FieldFile: Previous/Nov_Dec_2017.pdf>
Engineering Physics
Nov Dec - 2016 ---> <FieldFile: Previous/Nov_Dec_2016.pdf> Nov Dec - 2018 ---> <FieldFile: Previous/Nov_Dec_2018.pdf> Nov Dec - 2019 ---> <FieldFile: Previous/Nov_Dec_2019.pdf> May June - 2017 ---> <FieldFile: Previous/May_Jun_2017.pdf> May June - 2018 ---> <FieldFile: Previous/May_Jun_2018.pdf> May June - 2019 ---> <FieldFile: Previous/May_Jun_2019.pdf>
观看次数:
def index(request):
my_dict = {
'Engineering Mathematics 1': {'Nov Dec - 2017': '<FieldFile: Previous/Nov_Dec_2017.pdf>'},
'Engineering Physics': {
'Nov Dec - 2016': '<FieldFile: Previous/Nov_Dec_2016.pdf>',
'Nov Dec - 2018': '<FieldFile: Previous/Nov_Dec_2018.pdf>',
'Nov Dec - 2019': '<FieldFile: Previous/Nov_Dec_2019.pdf>',
'May June - 2017': '<FieldFile: Previous/May_Jun_2017.pdf>',
'May June - 2018': '<FieldFile: Previous/May_Jun_2018.pdf>',
'May June - 2019': '<FieldFile: Previous/May_Jun_2019.pdf>',
}
}
context = {
'my_dict': my_dict,
}
return render(request, 'index.html', context)
模板
{%for i, j in my_dict.items%}
<h3> {{i}} </h3>
{%for k, v in j.items%}
{{k}} ---> {{v}}
{%endfor%}
{%endfor%}
我想也许您在视图或模板中有一些错别字或小错误?
我正在使用 Django 模板,我遇到了一个嵌套字典的问题。
{'Engineering Mathematics 1': {'Nov Dec - 2017': <FieldFile: Previous/Nov_Dec_2017.pdf>},
'Engineering Physics': {'Nov Dec - 2016': <FieldFile: Previous/Nov_Dec_2016.pdf>,
'Nov Dec - 2018': <FieldFile: Previous/Nov_Dec_2018.pdf>,
'Nov Dec - 2019': <FieldFile: Previous/Nov_Dec_2019.pdf>,
'May June - 2017': <FieldFile: Previous/May_Jun_2017.pdf>,
'May June - 2018': <FieldFile: Previous/May_Jun_2018.pdf>,
'May June - 2019': <FieldFile: Previous/May_Jun_2019.pdf>}}
我试图通过嵌套 for 循环打印 HTML 页面中的所有数据。但它在 HTML 页面上不起作用。我已经在 Django shell 中尝试了代码并且它工作得很好但是当我来到 HTML 页面时它不工作。
HTML代码
{%for i, j in my_dict.items%} <----- from this line, code not working
<h3> {{i}} </h3>
{%for k, v in j.items%}
{{k}} ---> {{v}}
{%endfor%}
{%endfor%}
当我在 HTML 中尝试以下代码时,它会打印主词典 key_value
{%for i in my_dict%}
<h3> {{i}} </h3>
{%endfor%}
上面代码的输出来了 'Engineering Mathematics 1' 'Engineering Physics'
你的代码在我的 django 上运行良好。
它打印出这些html。
Engineering Mathematics 1
Nov Dec - 2017 ---> <FieldFile: Previous/Nov_Dec_2017.pdf>
Engineering Physics
Nov Dec - 2016 ---> <FieldFile: Previous/Nov_Dec_2016.pdf> Nov Dec - 2018 ---> <FieldFile: Previous/Nov_Dec_2018.pdf> Nov Dec - 2019 ---> <FieldFile: Previous/Nov_Dec_2019.pdf> May June - 2017 ---> <FieldFile: Previous/May_Jun_2017.pdf> May June - 2018 ---> <FieldFile: Previous/May_Jun_2018.pdf> May June - 2019 ---> <FieldFile: Previous/May_Jun_2019.pdf>
观看次数:
def index(request):
my_dict = {
'Engineering Mathematics 1': {'Nov Dec - 2017': '<FieldFile: Previous/Nov_Dec_2017.pdf>'},
'Engineering Physics': {
'Nov Dec - 2016': '<FieldFile: Previous/Nov_Dec_2016.pdf>',
'Nov Dec - 2018': '<FieldFile: Previous/Nov_Dec_2018.pdf>',
'Nov Dec - 2019': '<FieldFile: Previous/Nov_Dec_2019.pdf>',
'May June - 2017': '<FieldFile: Previous/May_Jun_2017.pdf>',
'May June - 2018': '<FieldFile: Previous/May_Jun_2018.pdf>',
'May June - 2019': '<FieldFile: Previous/May_Jun_2019.pdf>',
}
}
context = {
'my_dict': my_dict,
}
return render(request, 'index.html', context)
模板
{%for i, j in my_dict.items%}
<h3> {{i}} </h3>
{%for k, v in j.items%}
{{k}} ---> {{v}}
{%endfor%}
{%endfor%}
我想也许您在视图或模板中有一些错别字或小错误?