Django View不会保存/提交表单

时间:2014-09-18 22:34:32

标签: django django-forms django-views

当我提交此表单时,两者都没有保存在数据库中,但HttpResponseRedirect成功运行。有什么想法吗?

views.py

@login_required
def entry(request):
    fantasyTeamForm = FantasySeasonForm() #Form to store each player in the fantasy team
    seasonUserTournForm = PartialSeasonEntryForm()

    season_tournament_id = 1
    tournament_classic = Tournament(pk=season_tournament_id)
    user_instance = request.user

    if request.method == 'POST':
        fantasyTeamForm = FantasySeasonForm(request.POST or None)   
        fantasyTeamForm.fields
        if fantasyTeamForm.is_valid():           
            fantasyTeamForm.save(commit=False)       
            seasonUserTourn = ClassicSeasonUserList(
                tournament=tournament_classic,
                fantasy_team=fantasyTeamForm['FANTASY_TEAM_ID'],
                user=user_instance.id,            
            )
            seasonUserTournForm = PartialSeasonEntryForm(request.POST or None, instance=seasonUserTourn)
            seasonUserTournForm.fields

            if seasonUserTournForm.is_valid():
                seasonUserTournForm.save()
                fantasyTeamForm.save()
                return HttpResponseRedirect('/season/entrysuccess') #page on success


    args = {}
    args.update(csrf(request))

    args['form'] = fantasyTeamForm
    args['form2'] = seasonUserTournForm

    return render_to_response('entry.html', args, context_instance=RequestContext(request))

entry.html

<h2><b>Choose your team:</b></h2><br>
    {% for field in form %}
      {{field.error}}
    {% endfor %}
    {% for field in form2 %}
      {{field.error}}
    {% endfor %}

    <form action="/season/entrysuccess" method="post"> {% csrf_token %}
      {{form2}}
      <br><br>
      {{form.as_ul}}
      <br>
      <input type="submit" value="Submit Team" />         
    </form>

1 个答案:

答案 0 :(得分:0)

html中的表单操作应该是:

<form action="/season/entry" method="post">

而不是

<form action="/season/entrysuccess" method="post">