Jinja有办法检查变量是否可迭代?我正在使用Django并依赖于我是否使用objects.filter
或objects.get
response
发送到jinja模板是否可以迭代。
我尝试了以下内容:
{% extends 'header.html' %}
{% block content %}
{% if response is iterable %}
{% for i in response %}
<p>i</p>
{% endfor %}
{% else %}
{{ response }}
{% endif %}
{% endblock %}
然而,Django抛出:Unused 'is' at end of if expression.
答案 0 :(得分:3)
上面的答案不再对我有用,但是下面的答案适用:
{% if response is iterable %}
一个需要注意的地方是,它会认为字符串是可迭代的(确实如此),然后会遍历字符串中的每个字母,可能更合适的检查是:
{% if response is iterable and response is not string %}
答案 1 :(得分:1)
尝试:
{% if iterable(response) %}