我有一个带有两个按钮/输入的表单。
Button1保存页面并刷新。
Button2保存页面并转到另一个URL。
Button1正在使用 type =“ submit” ,然后view.py获取数据,保存并刷新数据。
我的问题是Button2。我用 formaction =“ {%url'team_area:home'%}” 添加了它,并实际上重定向了我,但问题是它不保存数据。 Button1仍然可以正常工作。
是否可能有某种请求。在view.py中使用the_id_of_pressed_button?
如果有帮助,这里涉及我的文件:
modify_players.html
ele.style.fontFamily = papyrus
views.py
<h1>AREA SQUADRA</h1>
<form method="post" action="">
{% csrf_token %}
<h2>Giocatori</h2>
{{ player_formset.management_form }}
{% for player_form in player_formset %}
{% if forloop.last %}
{% if not forloop.first %}
<input type="submit" value="Salva" formaction="{% url 'team_area:home' %}">
{% endif %}
<h5>Nuovo giocatore:</h5>
{% endif %}
{% for field in player_form %}
{% if forloop.revcounter == 2 %}
{{ field }}
{% elif forloop.parentloop.last and forloop.last%}
{% else %}
{{ field.label_tag }} {{ field }}
{% endif %}
{% endfor %}
<br>
{% endfor %}
<input type="submit" value="Aggiungi">
</form>
答案 0 :(得分:1)
您的评论清除了几件事。
从formaction
中删除input
,以便两个按钮都将表单提交到同一视图。
为两个按钮提供共同的name
但不同的value
。然后,在您的视图中,您可以区分单击了哪个按钮。
html:
<input type="submit" name="submit_button" value="button1">
<input type="submit" name="submit_button" value="button2">
视图:
def modify_players(...):
...
# save data
...
submit_button = request.POST.get('submit_button')
if submit_button == 'button1':
# refresh page
else:
# redirect to some page