Thursday, October 3, 2013

Re: Have browsers broken post-redirect-get? best practice now?

I disagree that breaking the back button is always bad. For example suppose you have a series of forms (i.e. a "wizard"):

Page 1) fill in form. On POST creates a new Model() and saves it to the database
2) do stuff to the object (e.g. add inlines, whatever).
3) ....whatever comes next

At stop two, user clicks back. They then post the form again, and get another object. On the other hand the page in step 2 can provide a back button on the page that takes the user back to edit what they entered on page 1. Which is more useful? I would say the latter - and users may not then understand that the browser back button and page back button do different things.

On Tuesday, October 1, 2013 8:33:41 PM UTC+5:30, antialiasis wrote:
You should still be able to use the back button; it just shouldn't try to post the data again if you do so. Are you getting a prompt about resending post data, or are you just talking about being able to use the back button at all? If the latter, that's exactly what should happen. Breaking the user's back button is bad.

On Tuesday, October 1, 2013 12:41:20 PM UTC, graeme wrote:
The Django  docs (and a lot else) recommend redirecting after successfully processing a post request (if it changes data). i.e. post, the save stuff to the database, then redirect.

Current browsers seem to allow this. I have tried Chromium 28 and 24 on Linux, I user return redirect(...) after the post, and I can still use the back button.

Is it my configuration, or is it usual? What is the best practice if this is broken?

In some cases I think tracking where the user is (in the session, or using the state of a particular object such as an order model), and redirecting any request for an earlier page in a sequence may be the way to go. Or is this a solved problem that I am too far behind the curve to know about?

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/cf0dd1f1-b004-4595-800f-1190ca9f4171%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate