我有一个表单,有两个按钮/输入。
按钮2保存页面并转到另一个url。
Button1正在使用
type=“提交”
然后view.py获取数据,保存并刷新数据。
formaction=“{%url”团队\区域:主“%”
实际上是重定向我,但问题是它不能保存数据。按钮1仍然可以正常工作。
是否可能有某种请求。按的\u按钮的\u id\u要在view.py中使用?
如果有帮助,请参阅我的相关文件:
修改_players.html
<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>
views.py
@login_required(login_url="/accounts/login/")
def modify_players(request):
if request.user.team is not None:
PlayerFormSet = modelformset_factory(Player, form=PlayerForm, extra=1, can_delete=True,)
if request.method == "POST":
player_formset = PlayerFormSet(request.POST, request.FILES, queryset=Player.objects.all().filter(team=request.user.team),)
for player_form in player_formset:
if player_form.is_valid():
player = player_form.save(commit=False)
player.team = request.user.team
if player_formset.is_valid():
player_formset.save()
return redirect('team_area:modify_players')
else:
player_formset = PlayerFormSet(queryset=Player.objects.all().filter(team=request.user.team))
return render(request, 'team_area/modify_players.html', {'player_formset': player_formset})
else:
return redirect('team_area:home')