gpt4 book ai didi

python - 我如何判断一个值是 Django 模板中的字符串还是列表?

转载 作者:行者123 更新时间:2023-11-28 19:45:17 24 4
gpt4 key购买 nike

我有一个在 Django 模板 (1.4) 中迭代的值元组。有些值是必须打印出来的字符串,其他值是包含字符串的元组,必须自己迭代才能打印出它们的值。在模板中,有没有一种方法可以在我遍历主元组时确定给定值是字符串还是列表(元组)?

最佳答案

没有内置方法可以做到这一点。一个(有点肮脏的恕我直言)解决方法是实现自定义“is_string”过滤器,但最好的解决方案是预处理 View 中的值,使其成为统一的元组列表(或列表)。

对于过滤解决方案:

@register.filter
def is_string(val):
return isinstance(val, basestring)

然后在您的模板中:

<ul> 
{% for whatever in something %}
<li>
{% if whatever|is_string %}
{{ whatever }}
{% else %}
<ul>
{{ whatever|unordered_list }}
</ul>
{% endif %}
</li>
{% endfor %}
</ul>

cf the excellent Django doc 有关自定义过滤器和模板标签的更多信息:

https://docs.djangoproject.com/en/stable/howto/custom-template-tags/

关于python - 我如何判断一个值是 Django 模板中的字符串还是列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11334119/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com