نوار مكيس
نوار مكيس

Reputation: 171

Moving Between Pages

I am trying to move from a web page to another when the user submits a POST. The problem is that the url doesn't change when I submit the POST and the view function that corresponds to the new page doesn't fire but the template loads and it show only the inputs I hard coded inside it without those I pass in the view function of course.

The Code:

In the urls file:

url(r'^addcross/phase1', views.new_cross_phase_1, name='new_cross_phase_1'),
url(r'^addcross/phase2', views.new_cross_phase_2, name='new_cross_phase_2'),

The view function of the 1st page:

def new_cross_phase_1(request):
    if request.method == 'POST':
        # my code here
        return render_to_response('New/New_Cross_Phase_2.html', {'crosses_names': crosses_names, 'creation_methods' : creation_methods},
                              context_instance=RequestContext(request))

The view function of the 2nd page:

def new_cross_phase_2(request):

    print('Phase 2')
    if request.method == "GET":
         return render_to_response('New/New_Cross_Phase_2.html', {'cross_form': new_cross_form},
                              context_instance=RequestContext(request))

Upvotes: 1

Views: 160

Answers (1)

Daniel Roseman
Daniel Roseman

Reputation: 599490

You should be redirecting in view 1, not rendering the template from view 2.

return redirect('new_cross_phase_2')

Upvotes: 2

Related Questions