如何在Django模板中以项目符号列表展示Python字典及修改展示代码
Django模板字典展示解决方案
嘿,我来帮你搞定这两个Django模板的问题!
1. 用项目符号列表展示字典
要在页面上生成带项目符号的列表,咱们用Django模板的{% for %}循环就能轻松实现——它可以遍历字典的items()方法,把字典拆成一组组键值对元组,再配合HTML的无序列表标签就行。
先假设你的视图是这样把字典传递给模板的(贴合你提到的视图逻辑):
# 视图示例代码 def your_view(request): # 这是你要展示的字典数据 price_links = { "Premium Plan": "/pricing/premium", "Basic Plan": "/pricing/basic", "Free Plan": "/pricing/free" } return render(request, "your_template.html", {"price_links": price_links})
然后在Django模板里这么写:
<ul> {% for key, value in price_links.items %} <li>Price: {{ key }}, link: <a href="{{ value }}">{{ key }}</a></li> {% endfor %} </ul>
这样页面上就会显示带项目符号的列表,每个列表项都清晰展示价格(字典的键)和对应的链接(字典的值)。
2. 行内连续格式展示字典项
如果要实现你想要的Price: key, link: value Price: key, link: value……这种行内连续展示的效果,只需要去掉列表标签,直接循环输出内容即可。另外可以用Django内置的forloop.last变量,避免最后多出来多余的分隔符:
模板代码如下:
{% for key, value in price_links.items %} Price: {{ key }}, link: <a href="{{ value }}">{{ key }}</a> {% if not forloop.last %} | {% endif %} {# 这里用竖线做分隔,你可以换成空格或其他符号 #} {% endfor %}
这段代码会把所有字典项依次排在一行,每两项之间用竖线分隔(你可以根据需求修改分隔符,甚至去掉直接用空格衔接)。
内容的提问来源于stack exchange,提问作者barciewicz
相关产品推荐
相关产品推荐

