Проверка наличия списка, все элементы которого содержат только пробелы в HTML
Я создаю приложение на Flask. Я извлекаю переменную items
(которая представляет собой список) и отображаю каждый ее элемент в отдельной ячейке.
<tr>
<th>Some heading</th>
{% for item in items %}
<td>{{ item }}</td>
{% endfor %}
</tr>
Однако, некоторые items
списки содержат элементы, состоящие только из пробелов, например:
items = [' ', ' ', ' ', ' ']
Я хочу проверить, что это НЕ так, и создать строку таблицы только в том случае, если хотя бы один элемент items
содержит больше пробелов. {% if items %}
не помогает, потому что список содержит элементы. Есть ли какой-нибудь другой способ? Я не знаю JavaScript, но с удовольствием рассмотрю и это, если есть способ.
В python вы можете проверить это с помощью:
if all(map(lambds s: s.strip(),items)):
С JS
if (items.every((item) => item.trim()))
Простите, нашел выход через внедрение items_check
в файл приложения. По сути, я объединил элементы в строку и проверил, что она содержит только пробелы. Теперь {% if items_check %}
работает :)
@armgar Вам нужно изменить код и поместить условие if вне строки таблицы так, чтобы строка создавалась только тогда, когда элемент в списке не является пробелом. Я попробовал это и это работает для меня.
<table>
<tr>
<th>Some heading</th>
</tr>
{% for item in items %}
{% if item %}
<tr>
<td>{{item | trim }}</td>
</tr>
{% endif %}
{% endfor %}
</table>