按钮未发送POST请求以更新对象Django

时间:2020-06-19 00:57:33

标签: python html django

我有一个带有事件对象的调度应用程序,我正在尝试创建一个表单,该表单将允许用户通过按按钮来更新已经存在的事件。但是,当用户按下按钮时,它似乎什么也没做。它只是刷新页面。

 {% 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 个答案:

答案 0 :(得分:1)

Anchor标签触发GET请求。 POST请求应使用<button type="submit"></button><input type="submit">

相关问题