Щелчок по кнопке в Django срабатывает, но не обновляет модель
Я пытался загрузить изображение несколько раз, но по какой-то причине оно просто не загружается. Я объясню подробно -
Эта таблица находится на моем шаблоне django. Она будет отображать данные из модели под названием "WorkOut". На этой странице есть форма над этой таблицей для ручного ввода данных. Три поля в таблице будут динамическими, вот где проблема. На рисунке вы видите поле "Время начала", которое не имеет значения. Я хочу заполнить это поле нажатием кнопки. Идея заключается в том, чтобы нажать на кнопку, что вызовет функцию views.py, которая обновит модель и затем отобразит ее на этой странице. Как только я сделаю это успешно, я добавлю время окончания и сделаю некоторые вычисления после этого.
Я добавил небольшую форму в цикл for для генерации кнопки-
<td>
<form method="get">
<input type="submit" class="btn" value="Start Time" name="start_time">
</form>
</td>
Вот функция представления, которую она должна вызывать-
def index_2(request):
if(request.GET.get('start_time')):
time=datetime.now().strftime('%H:%M:%S')
WorkOut.objects.update(start=time)
products=WorkOut.objects.all()
context={'products': products}
return render(request, 'myapp/index.html', context)
Эта страница является индексом и нет отдельного url для нажатия кнопки. Я не думаю, что он нужен.
Вот основные виды индекса:
def index(request):
form = WorkOutForm()
if request.method == 'POST':
form = WorkOutForm(request.POST)
if form.is_valid():
form.save()
products=WorkOut.objects.all()
context = {'form': form, 'products': products }
return render(request, 'myapp/index.html', context)
Когда я нажимаю на кнопку, она вроде бы срабатывает, но функция не делает того, что должна делать. Мой localhost url меняется с 127.0.0.1:8000 на http://127.0.0.1:8000/?start_time=Start+Time. То есть что-то происходит, но не желаемое действие
Есть идеи, что нужно изменить?
Спасибо за любой вклад.
значение кнопки отправки не отправляется, поэтому добавьте скрытое поле
index view:
def index(request):
form = WorkOutForm()
if request.method == 'POST':
form = WorkOutForm(request.POST)
if form.is_valid():
form.save()
elif request.GET.get('start_time'):
time=datetime.now().strftime('%H:%M:%S')
WorkOut.objects.update(start=time)
products=WorkOut.objects.all()
context = {'form': form, 'products': products }
return render(request, 'myapp/index.html', context)
form
<td>
<form method="get">
<input type="hidden" value="1" name="start_time">
<input type="submit" class="btn">
</form>
</td>