Http301 doesn't seem entirely correct to me, however I have found use for an Http302/HttpLoginRedirect exception that can be raised from anywhere to handle unauthorized users.
If your authorization process is handled somewhere other than directly in a view or decorator (like in a manager that checks custom permissions) it can be a nuisance to constantly be checking the returned value to make sure it's not a redirect. Raising an exception there and catching it with a middleware works nicely. I'm not saying that it needs to be in core, but it's been extremely helpful for me and might be useful for others. All the best, - Gabriel On Jun 28, 8:14 am, Patryk Zawadzki <pat...@pld-linux.org> wrote: > On Mon, Jun 28, 2010 at 12:07 PM, kernel1983 <kernel1...@gmail.com> wrote: > > There is exception Http404 in the system. > > > During django programming, we often need to do some data valid: > > > def A(request): > > valid() > > return render_to_response(...) > > > def B(request): > > valid() > > return render_to_response(...) > > ... > > > def valid(): > > throw Http301(url) > > from django.shortcuts import redirect > > def valid(method): > def decorated(request, *args, **kwargs): > if not 'Tim' in request.user.called_by_some_people(): > return redirect('some-view', ...) > return method(request, *args, **kwargs) > return decorated > > @valid > def A(request): > return render_to_response(...) > > @valid > def B(request): > return render_to_response(...) > > print 'There you go.' > > -- > Patryk Zawadzki -- You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-develop...@googlegroups.com. To unsubscribe from this group, send email to django-developers+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-developers?hl=en.