我的views.py中的代码
from django.shortcuts import render def webapppage(request): parameter = { 'key1':'hello', 'key2':['hiiii','whats up','buddy'] } return render(request, 'template2.html', parameter)
如何在模板文件中的(参数)单个变量中同时获取{{key1}}和{{key2}}?
template2.html中的代码
{% for c in parameter %} `{{c}} {% endfor %}
我想输出
hello ['hiiii','whats up','buddy']
答案 0 :(得分:0)
如果您想要输出,只需将模板替换为: {{parameter.key1}} {{parameter.key2}}
如果您想保留模板,请将上下文作为列表传递:
返回渲染(请求,'questapp / template2.html',{'参数':[v for v in parameter.values()]})
如果您想传递字典,那么您可以尝试: return render(request,'questapp / template2.html',{'parameter': 参数})
并更改模板:
{%for c参数.values%} `{{C}} {%endfor%}
答案 1 :(得分:0)
在我阅读您的要求时,您希望传递一本包含许多键和值的字典。 我们可能会做这样的事情。
在views.py
def webapppage(request):
parameter = {
'key1':'hello',
'key2':['hiiii','whats up','buddy']
}
context = {
"parameter" : parameter
} # The template will only contain one dictionary
return render(request, 'template2.html', context=context)
在模板中
{% for key, value in parameter.items %}
{% if key == 'key1' %}
{{ value }}
{% else %}
{% for name in value %}
{{ name }}
{% endfor %}
{% endif %}
{% endfor %}
现在,模板将能够在一个变量中获取所有值。