我有以下字典:
d = {'21': 'test1', '11': 'test2'}
{% with '18 17 16 15 14 13 12 11 21 22 23 24 25 26 27 28' as list_upper %}
{% for x in list_upper.split %}
{% if x in dental_position %}
<input type="text" placeholder = "{{ x }}" class="form-control" name="tooth[]" value="{{display dict.value here}}">
{% else %}<input type="text" placeholder = "{{ x }}" class="form-control" name="tooth[]">
{% endif%}
{% endfor %}
我想在d[value]
d[key]
的值时显示list_upper
内部输入文字值属性
如何在django模板中调用{% if d.keys in x %}
?
答案 0 :(得分:1)
创建一个这样的标记文件:
# tags.py
def is_dict_key(key, d):
return key in d
def get_dict_value(d, key):
try:
return d[key]
except KeyError as e:
print(e)
return None
假设您的视图在上下文中传递,如下所示:
context = {
'dental_position': {21: 'test1', 11: 'test2'}
'list_upper': [18, 17, 16, 15, 14, 13, 12, 11, 21, 22, 23, 24, 25, 26, 27, 28]
}
然后在你的模板中你可以这样做:
{% load tags %}
{% for x in list_upper %}
{% if x|is_dict_key:dental_position %}
<input type="text" placeholder = "{{ x }}" class="form-control" name="tooth[]" value="{{dental_position|get_dict_value:x}}">
{% else %}
<input type="text" placeholder = "{{ x }}" class="form-control" name="tooth[]">
{% endif%}
{% endfor %}
我是从头脑中做到的,所以可能会出现格式或语法错误,但是根据我之前链接的文档,这应该可以让你到达你需要的位置。