Search code examples
pythondjangodjango-sessions

Pass errors in Django using HttpResponseRedirect


I know that HttpResponseRedirect only takes one parameter, a URL. But there are cases when I want to redirect with an error message to display.

I was reading this post: How to pass information using an HTTP redirect (in Django) and there were a lot of good suggestions. I don't really want to use a library that I don't know how works. I don't want to rely on messages which, according to the Django docs, is going to be removed. I thought about using sessions. I also like the idea of passing it in a URL, something like:

return HttpResponseRedirect('/someurl/?error=1')

and then having some map from error code to message. Is it good practice to have a global map-like structure which hard codes in these error messages or is there a better way?

Or should I just use a session

EDIT: I got it working using a session. Is that a good practice to put things like this in the session?


Solution

  • You are right about the auth messages. They are deprecated but as the docs suggest you should use the django messages framework instead, which I think is the exact soultion for your case.