как получить случайные 1/2 данные из базы данных в шаблоне jinj2 в Django?

#django #jinja2

#django #jinja2

Вопрос:

 <table>
{% for field in fields %}
<tr>
<td>{{ field.name }}</td>
<td>{{ field.value }}</td>
</tr>
{% endfor %}
</table>
  

здесь мы получим все данные из полей. но я хочу получать только случайные 1/2 (я могу указать, сколько) данных в шаблоне jinja2 из серверной части?
Как это сделать?

Ответ №1:

 <table>
{% for field in fields %}

   {% if forloop.counter < x %}
   <tr>
    <td>{{ field.name }}</td>
    <td>{{ field.value }}</td>
   </tr>
  {% endif %}

{% endfor %}
</table>
  

просто введите желаемое число в x, все готово.

Комментарии:

1. если вы хотите просто случайные, вы должны явно использовать некоторые теги, написанные на python. я думаю, вы этого хотите?

2. да. Если я смогу это сделать, это было бы потрясающе. У вас есть решение по этому поводу?

Ответ №2:

Попробуйте это. Вы можете добавить эту логику во внешний интерфейс. Таким образом, он будет отображать записи с четным идентификатором. и они также будут 1/2.

 <table>
{% for field in fields %}
<tr>
{% if field.id%2 == 0 %}
<td>{{ field.name }}</td>
<td>{{ field.value }}</td>
{% endif %}
</tr>
{% endfor %}
</table>