我不太确定我是否在标题中正确地提出了这个问题,但我正在努力实现以下目标。
我有一系列由用户输入的列表,我正在尝试将单个列表打印到各个HTML页面。
一切正常,除了代替打印列表名称,它以某种集合形式返回。
[<newlist: hi>] (when it should just return hi)
我假设原因是,我的观点包含以下行
listname = request.user.newlist_set.filter(list_name__iexact=listname)
所以当我打印{{listname}}时,它会像上面列出的那样返回它。我怎样才能解决这个问题,只需在新列表中获取名称?
答案 0 :(得分:1)
filter
操作始终返回list
,因此您可以使用循环显示它:
{% for l in listname %}
{{ l }}
{% endfor %}
或者你可以调用方法first
,如果你确定它总是存在且只有一个:
listname = request.user.newlist_set.filter(list_name__iexact=listname).first()
如果没有列表名称,则为None
。您可以在模板中查看:
{% if listname %}
{{ listname }}
{% else %}
No list with this name.
{% endif %}