Thursday, March 29, 2012

Re: Can I POST edit form to detail view, and redirect back if invalid?

Oh, and also AJAX requests could then do everything on the object URI
(since they won't need the forms). Maybe it could be done with
temporary objects in the database. Use a randomised value in the
redirect URL to re-fetch what the user typed in and the errors
associated, then discard the entry.

On Mar 30, 3:33 pm, Hemebond <hemeb...@gmail.com> wrote:
> I can definitely write my code the normal way. I just wanted to see if
> it was possible; perhaps some way I hadn't thought of. I just liked
> the idea of all CRUD operations being done on the object URI.
>
> On Mar 30, 3:29 am, Mjumbe Poe <mju...@codeforamerica.org> wrote:
>
>
>
>
>
>
>
> > You're correct: HTTP does not allow you to, say, send POST data along
> > in a 30X (redirect) response [1].  You can redisplay the form at your
> > object's URL, but in order to actually do an HTTP redirect back to the
> > form URL, you'd have to pass the form data along in the URL query
> > string or store it on the session or something.  The easiest thing to
> > do in most cases is to POST to the /edit/ URL and redirect to the
> > detail page (or somewhere else) if valid.  This is what the [Create|
> > Update]View classes do.  Could you provide a little more context on
> > why this is infeasible in your code?  Maybe an snippet?
>
> > - Mjumbe
>
> > [1]http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3
>
> > On Mar 29, 7:49 am, Hemebond <hemeb...@gmail.com> wrote:
>
> > > I don't see anything on there that deals with transferring an
> > > redirecting with POST data. Is there a particular section that covers
> > > this?
>
> > > To be honest, I'm not sure if HTTP really supports what I'm trying to
> > > do, let alone Django.
>
> > > On Mar 30, 12:32 am, Joel Goldstick <joel.goldst...@gmail.com> wrote:
>
> > > > On Thu, Mar 29, 2012 at 7:13 AM, Hemebond <hemeb...@gmail.com> wrote:
> > > > > What can I pass back to the edit form view that already contains the
> > > > > values and errors and how? Posting to the edit form view would work
> > > > > but that would re-process the form.
>
> > > > > On Mar 30, 12:06 am, Joel Goldstick <joel.goldst...@gmail.com> wrote:
> > > > >> On Thu, Mar 29, 2012 at 6:33 AM, Hemebond <hemeb...@gmail.com> wrote:
> > > > >> > I want to use the URL of an object (a detail view) as the destination
> > > > >> > for CRUD operations. I want it to be able to accept GET, POST and
> > > > >> > DELETE requests.
>
> > > > >> > As part of this, I want the edit form (retrieved by appending /edit/
> > > > >> > to the object URL) to submit to the object URL. If the form is
> > > > >> > invalid, I then need to redirect back to the edit form, and display
> > > > >> > the errors.
>
> > > > >> > Is this possible? Is there a way to redirect back to the edit form
> > > > >> > with the new values and the errors that occurred during processing?
>
> > > > >> yes
>
> > > > You need to look at form handling in django.  Here is a good starting
> > > > point:http://www.djangobook.com/en/2.0/chapter07/
>
> > > > Then look at model forms.
>
> > > > --
> > > > Joel Goldstick

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

No comments:

Post a Comment