我有一个带有事件对象的调度应用程序,我正在尝试创建一个表单,该表单将允许用户通过按按钮来更新已经存在的事件。但是,当用户按下按钮时,它似乎什么也没做。它只是刷新页面。
{% 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对象中的空白字段。我该如何做到这一点?
答案 0 :(得分:1)
Anchor标签触发GET请求。 POST请求应使用<button type="submit"></button>
或<input type="submit">
。