Django сравнить поле даты в шаблоне - PullRequest
0 голосов
/ 20 марта 2020

Я пытаюсь создать шаблонную страницу Django, использующую диаграмму. js. Идея состоит в том, что у него будут поля для добавления пользователем диапазона дат «От» и «До» для передачи в Django данные шаблона для заполнения диаграммы. js.

Чтобы понять, как это сделать, мне нужно знать, как сравнивать даты в шаблонах Django, но я не могу понять это, опять же, ниже приведенный тест как вы будете сравнивать даты в шаблоне, упрощенно, чтобы я мог попробовать более сложные части.

recordsFuel.0.day равен 5 марта 2020 года и представляет собой Django форму DateField. Я попробовал следующее

{% if entriesFuel.0.day == "5 March 2020" %}
<h1>{{entriesFuel.0.day}}</h1>
{% else %}
<h1>{{entriesFuel.1.day}}</h1>
{% endif %}

{% if entriesFuel.0.day == "March 5, 2020" %}
<h1>{{entriesFuel.0.day}}</h1>
{% else %}
<h1>{{entriesFuel.1.day}}</h1>
{% endif %}

{% if entriesFuel.0.day == "2020-03-05" %}
<h1>{{entriesFuel.0.day}}</h1>
{% else %}
<h1>{{entriesFuel.1.day}}</h1>
{% endif %}

Можно ли сравнивать данные таким образом или я лаю неправильное дерево, делая это таким образом?

Спасибо,

1 Ответ

0 голосов
/ 20 марта 2020

shmee с примером фильтра date привел к ответу на этот вопрос. в приведенном выше примере это исправлено:

{% if entriesFuel.0.day|date:"dmY" == "05032020" %}
<h1>{{entriesFuel.0.day}}</h1>
{% else %}
<h1>{{entriesFuel.1.day}}</h1>
{% endif %}

, что привело меня к использованию:

    data:{
  labels:[{%for entryFuel in entriesFuel %}{%if entryFuel.day|date:"dmY" > "07032020" and entryFuel.day|date:"dmY" < "10032020"%}"{{entryFuel.day}}",
  {% endif %}
  {% endfor%}],
  datasets:[{
    label:'Stuff Added',
    data: [{%for entryFuel in entriesFuel %}{%if entryFuel.day|date:"dmy" > "07032020" and entryFuel.day|date:"dmY" < "10032020"%} "{{entryFuel.buckets_added}}",
    {% endif %}
    {% endfor %},
    ],

https://docs.djangoproject.com/en/3.0/ref/templates/builtins/#date

...