Я пытаюсь написать приложение, которое управляет задачами. Одно из моих требований - иметь возможность просматривать ежедневные задачи и перепланировать их, если пользователю потребуется выполнить это позже.
models.py:
class Task(models.Model):
due_date = models.DateField()
is_complete = models.BooleanField(default=False)
description = models.CharField(max_length=100, blank=True)
## other fields
Эти задачи обрабатываются подклассом DayArchiveView, который использует date_field='due_date'
и context_object_name='task_list'
. Полученный шаблон отображает ежедневную задачу в виде строки в таблице. В этом интерфейсе я хотел бы предоставить способ изменить due_date. Поскольку он изменяет данные, <form>
представляется наилучшим вариантом. Моя текущая версия использует нативный HTML, смешанный с шаблоном:
список задач. html
<table>
<thead>
<tr>
<th>Due Date</th>
<th>Description</th>
<th>Complete?</th>
<th>Change Due Date</th>
</tr>
</thead>
<tbody>
{% for task in task_list %}
<tr>
<td>{{ task.due_date }}</td>
<td>{{ task.description }}</td>
<td>{{ task.is_complete }}</td>
<td>
<form method="post" action="{% url 'reschedule' %}">
{% csrf_token %}
<!--the following field is actually a more complicated dropdown using tempusdominus-bootstrap-4-->
<input type="date" name="change_date">
<input type='hidden' name='task_id' value='{{ task.id }}'>
<button type="submit">Reschedule</button>
</form>
</td>
</tr>
{% endfor %}
</tbody>
</table>
Вопрос, который я хотел бы задать Ответ на вопрос таков: есть ли хороший способ в представлении (CBV или FBV) передать несколько экземпляров одного класса Form внутри шаблона, каждый из которых имеет свое значение для своего скрытого поля.
Заранее спасибо!