如何从元组列表中提取名称并在Django模板下拉列表中正常显示
解决方法
你当前渲染时直接输出了完整元组对象,Django会自动将其转为字符串格式显示,所以出现了元组原生写法的效果。你只需要在模板中取元组的对应元素输出即可,另外你原有模板代码存在多余尖括号的语法错误,需要一并修正。
你可以直接修改template.html的代码即可实现需求,无需改动视图层逻辑,修改后代码如下:
<form> <select name="Complex"> {% for x in model %} <!-- 如果你需要option的value也是单个名称,就用x.0赋值value --> <option value="{{ x.0 }}">{{ x.0 }}</option> {% endfor %} </select> Complex </form>
如果你需要保留value属性为完整元组,仅修改显示文本,可改成如下写法:
<option value="{{ x }}">{{ x.0 }}</option>
补充说明
Django模板语法中,使用.索引的格式可以访问列表、元组对应位置的元素,你当前的每个元组两个元素值完全一致,取x.0或者x.1都可以实现你要的显示效果。
内容的提问来源于stack exchange,提问作者Kyle
相关产品推荐
相关产品推荐

