大家好,我在模板中有这个
{% with 'By Visit, By Patient' as list %}
<div class="selector_healthApp">
<div class="container">
<div class="row">
<div class="col-xs-3">
<label for="sel1">Select Categoty:</label>
<select class="form-control" id="item_project">
{% for cat_name in list.split %}
<option>{{ cat_name }}</option>
{% endfor %}
</select>
</div>
</div>
</div>
</div>
{% endwith %}
{% endblock content %}
我有一个列表,我想在选择
中显示每个列表项如果我使用{% for cat_name in list.split %}
我在select
By
Visit
By
Patient
id我使用{% for cat_name in list %}
它是由字符
如何在选择“按访问”和“按病人”
中显示为什么我在终端尝试这个工作
list = [By Visit, By Patient]
>>> for iten in list:
... print iten
...
By Visit
By Patient
>>>
谢谢你的进步
答案 0 :(得分:1)
当您使用 list.split 时,它会在空间上分开导致问题。
并且Django不提供拆分模板标记,因此您无法在拆分时传递参数(即拆分&#34;,&#34; )。
您可以编写自己的自定义模板标记,从此处开始,https://docs.djangoproject.com/en/1.10/howto/custom-template-tags/
模板标签:
from django.template.defaulttags import register
@register.filter()
def split(value, arg):
return value.split(arg)
模板:
{% load split %}
{% with 'By Visit, By Patient'|split:"," as list %}
<div class="selector_healthApp">
<div class="container">
<div class="row">
<div class="col-xs-3">
<label for="sel1">Select Categoty:</label>
<select class="form-control" id="item_project">
{% for cat_name in list %}
<option>{{ cat_name }}</option>
{% endfor %}
</select>
</div>
</div>
</div>
</div>
{% endwith %}