Шаблоны
Django имеют шаблон for ... empty
[Django-doc] для этого.Вы можете написать {% for var in collection %} ... {% empty %} ... {% endfor %}
.Если коллекция не пуста, она выполнит итерацию и для каждого элемента в коллекции отобразит тело.Если коллекция пуста, она отобразит барт между {% empty %}
и {% endfor %}
.
Например:
<table>
<thead>
<tr style="font-size: small">
<th>Ranking</th>
<th>Symbol</th>
<th>Name</th>
<th>Price</th>
<th>Market Cap (USD)</th>
</tr>
</thead>
<tbody>
{% for price in price %}
<tr style="font-size: small">
<td>{{ price.rank }}</td>
<td>{{ price.symbol }}</td>
<td>{{ price.key|title }}</td>
<td>{{ price.value|intcomma }} $</td>
<td>{{ price.market_cap_usd|intcomma }} $</td>
</tr>
<b>{% empty %}</b>
<tr><td colspan="5">Currently no Data Available</td></tr>
{% endfor %}
</tbody>
</table>
Если коллекция пуста, то {% empty %}
деталь отображается.
Примечание : переименуйте свою коллекцию в prices
, поэтому {% for price in prices %}
, теперь вы перезаписываете свою переменную шаблона, и, кроме того, prices
более понятено том, что оно содержит.