Кнопка не отправляет запрос POST на обновление объекта django - PullRequest
0 голосов
/ 19 июня 2020

У меня есть приложение для планирования с объектами Event, и я пытаюсь создать форму, которая позволит пользователю обновлять уже существующее событие нажатием кнопки. Однако когда пользователь нажимает кнопку, кажется, что он ничего не делает. Он просто обновляет страницу.

 {% for a in availability %}
                      <form method='POST'>
                      <li><a class="btn btn-primary" href="{% url 'updateevent' a.id %}" type="submit" role="button">{{a.day}}: {{a.start_time}} - {{a.end_time}}</a></li>
                      </form>
                      {% endfor %}

view.py:

def updateevent(request, pk):
    if request.method == 'POST':
        try:
            form = EventForm(data=request.POST, instance=post)
            updatedEvent = form.save(commit=False)
            updatedEvent.requester_user = request.user
            updatedEvent.notes = None
            updatedEvent.save()

            return redirect('/')

        except ValueError:
            print(form.errors)
            return render(request, 'events/createevent.html', {'form':EventForm(), 'error':'There was an error. Please make sure you entered everything correctly!'})
    else:
        return redirect('/')    

Я хочу, чтобы пользователь, который нажимает кнопку, стал «Requester_user», пустое поле в моем объекте Event . Как мне этого добиться?

1 Ответ

1 голос
/ 19 июня 2020

Тег привязки запускает запрос GET. Вы должны использовать <button type="submit"></button> или <input type="submit"> для запроса POST.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...