如何在django模板中读取传递过去的字典参数中的某一项?
网上关于模板中使用字典都是说的循环读取,我这里说的不是循环读取。往页面传递一个参数:content={'genders':{'male':u'男','female':u'...
网上关于模板中使用字典都是说的循环读取,我这里说的不是循环读取。
往页面传递一个参数:
content = {'genders' : {
'male' : u'男',
'female' : u'女',
}
}
页面是这样输出的:
{% for customer in customers %}
{{ customer.name }}是{{ customer.gender }}性客户<br/>
{% endfor %}
customer 对象中的 gender 属性用的是英文
这里该怎么通过访问 genders 字典改成输出中文呢?
* 说明:不讨论设计是否合理,只是作为一个小例子。
* 如果有更好的方式传参也可以一并说明。 展开
往页面传递一个参数:
content = {'genders' : {
'male' : u'男',
'female' : u'女',
}
}
页面是这样输出的:
{% for customer in customers %}
{{ customer.name }}是{{ customer.gender }}性客户<br/>
{% endfor %}
customer 对象中的 gender 属性用的是英文
这里该怎么通过访问 genders 字典改成输出中文呢?
* 说明:不讨论设计是否合理,只是作为一个小例子。
* 如果有更好的方式传参也可以一并说明。 展开
2个回答
展开全部
两个方法:
1. 你可以用翻译文件 {% trans ,这样就不需要去取genders了
2. 可以增加一个filter,参考这里: https://code.djangoproject.com/ticket/3371
1. 你可以用翻译文件 {% trans ,这样就不需要去取genders了
2. 可以增加一个filter,参考这里: https://code.djangoproject.com/ticket/3371
推荐于2016-08-19
展开全部
django 模板直接遍历字典就可以实现;
参考例子:
方法一:
t = Template('{% for key, value in dict.items %}{{ key }}===>{{ value }}\n{% endfor %}')
t.render(c)
方法二:
t = Template('{% for key in dict.items %}{{ key.0 }}===>{{ key.1 }}\n{% endfor %}')
t.render(c)
参考例子:
方法一:
t = Template('{% for key, value in dict.items %}{{ key }}===>{{ value }}\n{% endfor %}')
t.render(c)
方法二:
t = Template('{% for key in dict.items %}{{ key.0 }}===>{{ key.1 }}\n{% endfor %}')
t.render(c)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询