Michael Lake skrev:
> Hi all
>
> Nis Jørgensen wrote:
>   
>> The argument to HttpResponseRedirect is a url. You seem to be confusing
>> it with a template. 
>>     
>
> OK I can do this:
>
>       code ....
>       # some error occurs
>       message = 'You have ... tell admin that ....'
>       return HttpResponseRedirect('error/')
>
> and have in views.py
>
> def error(request, message):
> {
>    return render_to_response('error_page.html', {'message':message})
> }
>
> But how to get the message into error() without passing it as a GET?
>   
As others have said, you can stuff things into request.session (after
adding the right middleware incantations).

>> But if you have the data available, there is no reason to do a redirect.
>> Just render the error message etc to the relevant template, then return
>> that to the user.
>>     
>
> Why I dont want to pass it like this ?message='You have ... tell admin that 
> ....'
> is that its long and if the error is something like main?delete=100 but the 
> user cant 
> delete that id then a Redirect goes to a nice clean valid URL.
> A render_to_response leaves the incorrect URL in the browser.
What is so bad about leaving the url in the browser? I assume the error
message you display is the "correct" response for that url. Just
remember to add the correct status code - probably 400,403 or 404. Note
that if this is a GET url, it shouldn't have side effects, so your
"main?delete=100" example seems like a bad idea to begin with (unless
this is the page that shows an "Are you sure ...?" message). If it is a
POST, there is a lot of reason not to redirect it, since this will make
it harder for the user to use the back button to fix things.

Nis Jorgensen




--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to